此例是javascript来建立链表。。
并对此进行了排序。。
还可以在GenericList一般链表上进行扩展。
实现各种排序及增,删,改结点。。
function Node(){ this.data=null; this.next=null; }function GenericList(){ this.head=null; this.current=null; //打出所有的链表结点 this.print= function(){ this.current=this.head; while(this.current!=null){ alert(this.current.data); this.current=this.current.next; } }, //建立链表 this.addHead =function(t){ var node=new Node(); node.data=t; node.next=this.head; this.head=node; }
}
function SortList(){ //冒泡排序链表 this.BubbleSort=function() { if(this.head==null||this.head.next==null) { return ; } var swapped; do{ this.previous=null; this.current=this.head;
var swapped=false; while(this.current.next!=null) { if(this.current.data-this.current.next.data>0) { var tmp=this.current.next; this.current.next=this.current.next.next; tmp.next=this.current; if(this.previous==null) { this.head=tmp; } else { this.previous.next=tmp; } this.previous=tmp; swapped=true; } else { this.previous=this.current; this.current=this.current.next; } } }while(swapped); }
}
SortList.prototype=new GenericList();
(function Main(){ var sl=new SortList(); for(var i=0;i<arguments.length;i++) {sl.addHead(arguments[i]); } alert("未排序的链表"); sl.print(); sl.BubbleSort(); alert("已排序的链表 从小到大"); sl.print();
})("1","2","3","4")
链表简介 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 由于不必须按顺序存储,链表在给定位置插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是在有序数据中查找一个
本文向大家介绍数据结构 C语言实现循环单链表的实例,包括了数据结构 C语言实现循环单链表的实例的使用技巧和注意事项,需要的朋友参考一下 数据结构 C语言实现循环单链表的实例 实例代码: 如图: 感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
本文向大家介绍Java 数据结构链表操作实现代码,包括了Java 数据结构链表操作实现代码的使用技巧和注意事项,需要的朋友参考一下 链表是一种复杂的数据结构,其数据之间的相互关系使链表分成三种:单链表、循环链表、双向链表,下面将逐一介绍。链表在数据结构中是基础,也是重要的知识点,这里讲下Java 中链表的实现, JAVA 链表操作:单链表和双链表 主要讲述几点: 一、链表的简介 二、链表实现原理
本文向大家介绍Python实现的数据结构与算法之链表详解,包括了Python实现的数据结构与算法之链表详解的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现的数据结构与算法之链表。分享给大家供大家参考。具体分析如下: 一、概述 链表(linked list)是一组数据项的集合,其中每个数据项都是一个节点的一部分,每个节点还包含指向下一个节点的链接。 根据结构的不同,链表可以分
本文向大家介绍C#模拟链表数据结构的实例解析,包括了C#模拟链表数据结构的实例解析的使用技巧和注意事项,需要的朋友参考一下 写在前面 模块化编程是大多数初学者必经之路,然后可能你走向了结构化编程,链表是一种典型结构模式,它的出现克服了数组必须预先知道大小的缺陷,听不懂?你只需要记住,链表结构非常牛叉就可以了,学习这种结构对我们的逻辑思维有很大提升。 什么是链表结构呢? 链表是一种物理存储单元上非连
本文向大家介绍C数据结构循环链表实现约瑟夫环,包括了C数据结构循环链表实现约瑟夫环的使用技巧和注意事项,需要的朋友参考一下 C数据结构循环链表实现约瑟夫环 本文代码均在turbo C 2.0 的环境下运行通过,并得到正确结果,本程序为用循环链表实现约瑟夫环,即有m个人站成一个圆环,从某人(队列第一个)开始报数,约定从某数开始的第n个人出列,他的下一个再从一开始报,然再一个报道n的人出列,本程序结果