当前位置: 首页 > 编程笔记 >

JavaScript实现的链表数据结构实例

彭开畅
2023-03-14
本文向大家介绍JavaScript实现的链表数据结构实例,包括了JavaScript实现的链表数据结构实例的使用技巧和注意事项,需要的朋友参考一下

此例是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的人出列,本程序结果