欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法示例

 更新時(shí)間:2019年01月31日 12:02:14   作者:白楊-M  
這篇文章主要介紹了JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法,結(jié)合實(shí)例形式分析了鏈表的原理及javascript定義與使用鏈表的相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了JS基于對(duì)象的鏈表實(shí)現(xiàn)與使用方法。分享給大家供大家參考,具體如下:

鏈表是一種在物理內(nèi)存上不連續(xù)的數(shù)據(jù)結(jié)構(gòu)。原理如下圖所示:

示例代碼:

/*JS實(shí)現(xiàn)一個(gè)基于對(duì)象的鏈表*/
function Node(element){
  this.element = element;//節(jié)點(diǎn)存儲(chǔ)的元素
  this.next = null;//節(jié)點(diǎn)指向的下一個(gè)節(jié)點(diǎn),這里先設(shè)置為空
}
function LList(){
  this.head = new Node("head");//生成一個(gè)頭節(jié)點(diǎn)
  this.find = find;//在鏈表中找到某個(gè)節(jié)點(diǎn)
  this.insert = insert;//在鏈表中某個(gè)元素后面插入某個(gè)節(jié)點(diǎn)元素
  this.display = display;//在將鏈表中的節(jié)點(diǎn)元素顯示出來(lái)
  this.findPrevious = findPrevious;//找到某個(gè)節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn)
  this.remove = remove;//刪除某個(gè)節(jié)點(diǎn)
}
function remove(item) {
  var prevNode = this.findPrevious(item);
  if (!(prevNode.next == null)) {
    prevNode.next = prevNode.next.next;
  }
}
function findPrevious(item) {
  var currNode = this.head;
  while (!(currNode.next == null) &&
    (currNode.next.element != item)) {
    currNode = currNode.next;
  }
  return currNode;
}
function display() {
  var currNode = this.head;
  var nodestr = "";
  while (!(currNode.next == null)) {
    nodestr +=" "+currNode.next.element;
    currNode = currNode.next;
  }
  console.log(nodestr);
}
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 current = this.find(item);
  newNode.next = current.next;
  current.next = newNode;
}
/*測(cè)試?yán)?/
var num = new LList();
num.insert("a1","head");
num.insert("b1","a1");
num.insert("c1","b1");
num.display();// a1 b1 c1
num.remove("b1");
num.display();// a1 c1

這里使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼,可得如下運(yùn)行結(jié)果:

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

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

相關(guān)文章

  • js字符串操作函數(shù)總結(jié)及使用方法示例

    js字符串操作函數(shù)總結(jié)及使用方法示例

    這篇文章主要介紹了js字符串操作函數(shù)toString、split、length、indexOf、lastIndexOf、replace、replaceAll、charAt、charCodeAt、contact、slice、substring、substr、match、exec、search、trim、includes
    2023-08-08
  • 微信小程序配置視圖層數(shù)據(jù)綁定相關(guān)示例

    微信小程序配置視圖層數(shù)據(jù)綁定相關(guān)示例

    這篇文章主要為大家介紹了微信小程序配置視圖層數(shù)據(jù)綁定相關(guān)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪<BR>
    2022-04-04
  • JavaScript實(shí)現(xiàn)封閉區(qū)域布爾運(yùn)算的示例代碼

    JavaScript實(shí)現(xiàn)封閉區(qū)域布爾運(yùn)算的示例代碼

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)封閉區(qū)域布爾運(yùn)算的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • js怎么只刷新當(dāng)前頁(yè)面一次

    js怎么只刷新當(dāng)前頁(yè)面一次

    Javascript刷新頁(yè)面的幾種方法:location.reload()、location.replace(location)、history.go(0)、location=location、location.assign(location)、document.execCommand('Refresh')、window.navigate(location)、document.URL=location.href,js怎么只刷新當(dāng)前頁(yè)面一次呢
    2023-09-09
  • js自定義瀑布流布局插件

    js自定義瀑布流布局插件

    這篇文章主要為大家詳細(xì)介紹了瀑布流布局與自定義瀑布流布局插件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • typescript使用 ?. ?? ??= 運(yùn)算符的方法步驟

    typescript使用 ?. ?? ??= 運(yùn)算符的方法步驟

    本文主要介紹了typescript使用 ?. ?? ??= 運(yùn)算符的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-01-01
  • JavaScript使用鏈?zhǔn)椒椒ǚ庋bjQuery中CSS()方法示例

    JavaScript使用鏈?zhǔn)椒椒ǚ庋bjQuery中CSS()方法示例

    這篇文章主要介紹了JavaScript使用鏈?zhǔn)椒椒ǚ庋bjQuery中CSS()方法,結(jié)合具體實(shí)例形式分析了JS采用鏈?zhǔn)讲僮鞣椒ǚ庾Query中連綴操作實(shí)現(xiàn)css()方法的相關(guān)技巧,需要的朋友可以參考下
    2017-04-04
  • JS實(shí)現(xiàn)登錄頁(yè)面記住密碼和enter鍵登錄方法推薦

    JS實(shí)現(xiàn)登錄頁(yè)面記住密碼和enter鍵登錄方法推薦

    下面小編就為大家?guī)?lái)一篇JS實(shí)現(xiàn)登錄頁(yè)面記住密碼和enter鍵登錄方法推薦。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。
    2016-05-05
  • 微信小程序?qū)崿F(xiàn)狼人殺小游戲的示例詳解

    微信小程序?qū)崿F(xiàn)狼人殺小游戲的示例詳解

    狼人殺是一款多人參與的,通過(guò)語(yǔ)言描述推動(dòng)、較量口才和分析判斷能力的策略類桌面游戲。本文將利用小程序?qū)崿F(xiàn)這一游戲,需要的可以參考一下
    2022-03-03
  • 中國(guó)地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單效果分析

    中國(guó)地區(qū)三級(jí)聯(lián)動(dòng)下拉菜單效果分析

    主要的數(shù)據(jù)和功能實(shí)現(xiàn)都是在js文件中,網(wǎng)上找的地區(qū)數(shù)據(jù)有的地方不完整,需要自己添加,本文將詳細(xì)介紹
    2012-11-11

最新評(píng)論