JavaScript 鏈表定義與使用方法示例
本文實例講述了JavaScript 鏈表定義與使用方法。分享給大家供大家參考,具體如下:
鏈表
一個 鏈表 是數(shù)據(jù)元素的線性集合, 元素的線性順序不是由它們在內存中的物理位置給出的。 相反, 每個元素指向下一個元素。它是由一組節(jié)點組成的數(shù)據(jù)結構,這些節(jié)點一起,表示序列。
鏈表的一個缺點是訪問時間是線性的(而且難以管道化)。
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測試上述代碼運行效果。
更多關于JavaScript相關內容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript數(shù)組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
- JavaScript數(shù)據(jù)結構之鏈表的實現(xiàn)
- javascript寫的一個鏈表實現(xiàn)代碼
- js實現(xiàn)雙向鏈表互聯(lián)網(wǎng)機頂盒實戰(zhàn)應用實現(xiàn)
- javascript循環(huán)鏈表之約瑟夫環(huán)的實現(xiàn)方法
- javascript數(shù)據(jù)結構之雙鏈表插入排序實例詳解
- JS實現(xiàn)的合并兩個有序鏈表算法示例
- JavaScript實現(xiàn)鏈表插入排序和鏈表歸并排序
- JavaScript實現(xiàn)的鏈表數(shù)據(jù)結構實例
- JavaScript數(shù)據(jù)結構之雙向鏈表和雙向循環(huán)鏈表的實現(xiàn)
- JavaScript數(shù)據(jù)結構之單鏈表和循環(huán)鏈表
- JS中的算法與數(shù)據(jù)結構之鏈表(Linked-list)實例詳解
相關文章
Javascript 詳解封裝from表單數(shù)據(jù)為json串進行ajax提交
這篇文章主要介紹了Javascript 詳解封裝from表單數(shù)據(jù)為json串進行ajax提交的相關資料,需要的朋友可以參考下2017-03-03js中位數(shù)不足自動補位擴展padLeft、padRight實現(xiàn)代碼
這篇文章主要介紹了js中位數(shù)不足自動補位擴展之padLeft、padRight實現(xiàn)方法,主要是通過String.prototype擴展實現(xiàn),需要的朋友可以參考下2020-04-04移動端網(wǎng)頁開發(fā)調試神器Eruda的介紹與使用技巧
在日常的移動端開發(fā)時,一般都是試用chrome瀏覽器的移動端模式進行開發(fā)和調試,只有在chrome調試完成,而最近發(fā)現(xiàn)了一個新的調試方法,所以這篇文章主要給大家介紹了關于移動端網(wǎng)頁開發(fā)調試神器Eruda的基本資料,以及其使用的一些技巧,需要的朋友可以參考下。2017-10-10