JavaScript 链表定义与使用方法示例
程序员文章站
2022-09-24 15:12:15
本文实例讲述了javascript 链表定义与使用方法。分享给大家供大家参考,具体如下:链表一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向...
本文实例讲述了javascript 链表定义与使用方法。分享给大家供大家参考,具体如下:
链表
一个 链表 是数据元素的线性集合, 元素的线性顺序不是由它们在内存中的物理位置给出的。 相反, 每个元素指向下一个元素。它是由一组节点组成的数据结构,这些节点一起,表示序列。
链表的一个缺点是访问时间是线性的(而且难以管道化)。
class node { constructor(val) { this.val = val; this.next = null; } }
显示链表
function display () { var currnode = this.head; while ( !(currnode.next == null) ){ console.log( currnode.next.element ); currnode = currnode.next; } }
查找
function find ( item ) { var currnode = this.head; while ( currnode.element != item ){ currnode = currnode.next; } return currnode; }
插入
function insert ( newelement , item ) { var newnode = new node( newelement ); var currnode = this.find( item ); newnode.next = currnode.next; currnode.next = newnode; }
删除
function findprev( item ) { var currnode = this.head; while ( !( currnode.next == null) && ( currnode.next.element != item )){ currnode = currnode.next; } return currnode; } function remove ( item ) { var prevnode = this.findprev( item ); if( !( prevnode.next == null ) ){ prevnode.next = prevnode.next.next; } }
感兴趣的朋友可以使用在线html/css/javascript代码运行工具:http://tools.jb51.net/code/htmljsrun测试上述代码运行效果。
上一篇: js最全的数组的降维5种办法(小结)