本文实例讲述了射流研究…基于对象的链表实现与使用方法。分享给大家供大家参考,具体如下:
链表是一种在物理内存上不连续的数据结构。原理如下图所示:
示例代码:
/*JS实现一个基于对象的链表*/函数节点(元素){ this。元素=元素;//节点存储的元素this.next=null/节点指向的下一个节点,这里先设置为空}函数LList(){ this。head=新节点(“head”);//生成一个头节点this.find=find//在链表中找到某个节点this.insert=insert//在链表中某个元素后面插入某个节点元素this.display=显示;//在将链表中的节点元素显示出来这个。查找上一个=查找上一个;//找到某个节点的上一个节点this.remove=移除;//删除某个节点}函数移除(项目){ var prev node=this。查找上一个(项目);if(!(上一个节点。next==null)){ prev节点。next=prev节点。下一个。接下来;} }函数查找上一个(项目){ var currennode=this。头部;while(!(CurrNode。next==null(CurrNode)。下一个。元素!=item)){ curr node=curr node。接下来;}返回currNode}函数display(){ var current node=this。头部;var nodestr=while(!(CurrNode。next==null)){ nodestr=' CurrNode。下一个。元素;当前节点=当前节点。接下来;}控制台。日志(nodestr);}函数find(item){ var CurrNode=this。头部;while (currNode.element!=item){ CurrNode=CurrNode。接下来;}返回currNode}函数插入(newElement,item){ var new Node=new Node(新元素);无功电流=这个。find(item);新节点。下一个=当前。接下来;current.next=newNode}/*测试例子*/var num=new LList();num.insert('a1 ',' head ');num.insert('b1 ',' a1 ');num.insert('c1 ',' B1 ');计算器显示();//a1 B1 C1编号。移除(' B1 ');计算器显示();//a1 c1这里使用在线HTML/CSS/JavaScript代码运行工具:http://工具。JB 51。net/code/HTMljsrun测试上述代码,可得如下运行结果:
更多关于Java脚本语言相关内容感兴趣的读者可查看本站专题: 《JavaScript数据结构与算法技巧总结》 、 《JavaScript数学运算用法总结》 、 《JavaScript排序算法总结》 、 《JavaScript遍历算法与技巧总结》 、 《JavaScript查找算法技巧总结》 及《JavaScript错误与调试技巧总结》
希望本文所述对大家Java脚本语言程序设计有所帮助。