久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      node有鏈表結(jié)構(gòu)嗎

      node中有鏈表結(jié)構(gòu);鏈表是一種存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu),在文件可寫流方法工作的時(shí)候,有些被寫入的內(nèi)容需要在緩存區(qū)中進(jìn)行排隊(duì)等待,而且遵循先進(jìn)先出的規(guī)則,為了存儲(chǔ)這些排隊(duì)的數(shù)據(jù),在新版node中就采用了鏈表的結(jié)構(gòu)存儲(chǔ)這些數(shù)據(jù)。

      node有鏈表結(jié)構(gòu)嗎

      本文操作環(huán)境:Windows10系統(tǒng)、nodejs 12.19.0版、Dell G3電腦。

      node有鏈表結(jié)構(gòu)

      鏈表是一種存儲(chǔ)數(shù)據(jù)的結(jié)構(gòu)。

      在文件可寫流 write 方法工作的時(shí)候,有些被寫入的內(nèi)容需要在緩沖區(qū)中進(jìn)行排隊(duì)等待,而且遵循的是先進(jìn)先出的規(guī)則。

      為了存儲(chǔ)這些排隊(duì)的數(shù)據(jù),在新版 Node 中就采用了鏈表的結(jié)構(gòu)存儲(chǔ)這些數(shù)據(jù)。

      為什么不采用數(shù)組存儲(chǔ)數(shù)據(jù)?

      相對(duì)于鏈表結(jié)構(gòu),數(shù)組會(huì)有一些明顯的缺點(diǎn):

      在多個(gè)語言下數(shù)組存儲(chǔ)數(shù)據(jù)的長度具有上限

      數(shù)組存在塌陷問題,在執(zhí)行插入或刪除元素的時(shí)候,有可能會(huì)移動(dòng)其它元素的位置

      在 JavaScript 中數(shù)組實(shí)際上是對(duì)象類型,在使用效率上會(huì)低一些

      以上缺點(diǎn)只是相對(duì)于鏈表,實(shí)際使用中數(shù)組結(jié)構(gòu)還是非常強(qiáng)大的。

      鏈表

      鏈表是由一系列**節(jié)點(diǎn)(node)**組合而成的集合。

      每個(gè)節(jié)點(diǎn)都具有指向下一個(gè)節(jié)點(diǎn)引用的屬性(next)。

      將這些指向下一個(gè)節(jié)點(diǎn)的引用組合在一起就形成了一個(gè)鏈。

      常見鏈表分類

      雙向鏈表:最常用,它的查詢速度會(huì)更快一些

      單向鏈表:本例討論單向鏈表,它足夠可寫流的 write 方法使用

      循環(huán)鏈表

      單向鏈表結(jié)構(gòu)

      node有鏈表結(jié)構(gòu)嗎

      鏈表結(jié)構(gòu)其實(shí)就是一個(gè)容器,里面存放著三個(gè)物件:head、null 以及中間的 node 節(jié)點(diǎn)。

      在 node 節(jié)點(diǎn)身上有一個(gè) next 屬性,指向下一個(gè) node 節(jié)點(diǎn)。

      同時(shí) node 節(jié)點(diǎn)身上還有一個(gè) element 屬性,用于存放當(dāng)前 node 節(jié)點(diǎn)具體數(shù)據(jù)。

      head 指向第一個(gè) node 節(jié)點(diǎn),然后按照 next 指向的順序依次向下傳遞,一直到最后一個(gè) node 節(jié)點(diǎn),它的 next 指向 null。

      默認(rèn)情況下,鏈表是空的(head = null),里面沒有 node 節(jié)點(diǎn)。

      所謂雙向鏈表就是在每個(gè) node 節(jié)點(diǎn)身上多一個(gè)類似 prev 的屬性,指向上一個(gè)節(jié)點(diǎn)。

      而循環(huán)鏈表就是將頭尾節(jié)點(diǎn)連接起來。

      鏈表的作用

      鏈表的出現(xiàn)主要還是用來存儲(chǔ)數(shù)據(jù)。

      這個(gè)功能和數(shù)組類似,因此鏈表常見的動(dòng)作無非就是數(shù)據(jù)的增加、刪除、修改、查詢以及清空之類的操作。

      這些都需要在創(chuàng)建鏈表結(jié)構(gòu)的時(shí)候自行實(shí)現(xiàn)。

      單向鏈表實(shí)現(xiàn)

      掌握單向鏈表結(jié)構(gòu)的實(shí)現(xiàn),以在自定義文件可寫流的時(shí)候?qū)崿F(xiàn)存儲(chǔ)需要排隊(duì)寫入的數(shù)據(jù)。

      鏈表結(jié)構(gòu)包含 node、head、null

      默認(rèn)鏈表是空的,也就是 head 指向 null

      鏈表的操作類似數(shù)組,所以要有個(gè)屬性記錄節(jié)點(diǎn)的數(shù)量:size

      每個(gè)節(jié)點(diǎn)必須有一個(gè)屬性指向下一個(gè)數(shù)據(jù):next

      節(jié)點(diǎn)本身還要存儲(chǔ)數(shù)據(jù),使用一個(gè)屬性存儲(chǔ):element

      使用鏈表結(jié)構(gòu)的行為一般有:增加、刪除、修改、查詢、清空

      推薦學(xué)習(xí):《nodejs視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)