久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript 雙向鏈表操作實例分析【創(chuàng)建、增加、查找、刪除等】

瀏覽:81日期:2023-11-01 10:43:20

本文實例講述了JavaScript 雙向鏈表操作。分享給大家供大家參考,具體如下:

一個 雙向鏈表(doubly linked list) 是由一組稱為節(jié)點的順序鏈接記錄組成的鏈接數(shù)據(jù)結(jié)構(gòu)。每個節(jié)點包含兩個字段,稱為鏈接,它們是對節(jié)點序列中上一個節(jié)點和下一個節(jié)點的引用

開始節(jié)點和結(jié)束節(jié)點的上一個鏈接和下一個鏈接分別指向某種終止節(jié)點,通常是前哨節(jié)點或null,以方便遍歷列表。如果只有一個前哨節(jié)點,則列表通過前哨節(jié)點循環(huán)鏈接。它可以被概念化為兩個由相同數(shù)據(jù)項組成的單鏈表,但順序相反。

class DNode { constructor(val) { this.val = val; this.prev = null; this.next = null; }}增加節(jié)點

function add(el) { var currNode = this.head; while (currNode.next != null) { currNode = currNode.next; } var newNode = new DNode(el); newNode.next = currNode.next; currNode.next = newNode;}查找

function find(el) { var currNode = this.head; while (currNode && currNode.el != el) { currNode = currNode.next; } return currNode;}插入

function (newEl, oldEl) { var newNode = new DNode(newEl); var currNode = this.find(oldEl); if (currNode) { newNode.next = currNode.next; newNode.prev = currNode; currNode.next = newNode; } else { throw new Error(’未找到指定要插入節(jié)點位置對應(yīng)的值!’) }}展示

// 順序function () { var currNode = this.head.next; while (currNode) { console.log(currNode.el); currNode = currNode.next; }}// 逆序function () { var currNode = this.head; currNode = this.findLast(); while (currNode.prev != null) { console(currNode.el); currNode = currNode.prev; }}刪除

function (el) { var currNode = this.find(el); if (currNode && currNode.next != null) { currNode.prev.next = currNode.next; currNode.next.prev = currNode.prev; currNode.next = null; currNode.previous = null; } else { throw new Error(’找不到要刪除對應(yīng)的節(jié)點’); }}

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學(xué)運算用法總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)組操作技巧總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯誤與調(diào)試技巧總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 欧美亚洲国产一区 | 亚洲精品中文字幕乱码无线 | 亚洲欧美激情精品一区二区 | 久久韩剧网 | 欧美日韩国产一区二区三区不卡 | 成年人在线看 | 免费的av网站 | 欧美日韩综合一区 | 大乳videos巨大吃奶 | 国产精品资源在线 | 欧美一级在线 | 亚洲精品成人 | 久久99精品久久久久久按摩秒播 | 成人免费av| 性做久久久久久久免费看 | 一区二区日韩在线观看 | 久久久蜜桃一区二区人 | 一区二区免费在线观看 | 成人午夜在线视频 | 欧洲精品在线观看 | 亚洲国产免费 | 亚洲一区中文字幕 | 成人精品一区二区 | 日韩在线观看成人 | 精品欧美乱码久久久久久1区2区 | 日韩av成人 | 精品亚洲永久免费精品 | 欧美一区二区视频 | 成人水多啪啪片 | 一区二区三区久久 | 国产精品久久国产精品 | 国产亚洲精品精品国产亚洲综合 | 国产日韩亚洲欧美 | 中文在线视频 | 在线天堂新版最新版在线8 www.国产欧美 | 免费观看黄色一级大片 | 日韩在线色 | 午夜a v电影| 久久综合狠狠综合久久综合88 | 国产成人免费网站 | 亚洲国产成人av |