溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

node有沒有鏈表結構

發(fā)布時間:2022-07-05 09:19:24 來源:億速云 閱讀:90 作者:iii 欄目:web開發(fā)

本篇內(nèi)容介紹了“node有沒有鏈表結構”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

node有鏈表結構

鏈表是一種存儲數(shù)據(jù)的結構。

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

為了存儲這些排隊的數(shù)據(jù),在新版 Node 中就采用了鏈表的結構存儲這些數(shù)據(jù)。

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

相對于鏈表結構,數(shù)組會有一些明顯的缺點:

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

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

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

以上缺點只是相對于鏈表,實際使用中數(shù)組結構還是非常強大的。

鏈表

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

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

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

常見鏈表分類

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

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

循環(huán)鏈表

單向鏈表結構

node有沒有鏈表結構

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

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

同時 node 節(jié)點身上還有一個 element 屬性,用于存放當前 node 節(jié)點具體數(shù)據(jù)。

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

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

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

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

鏈表的作用

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

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

這些都需要在創(chuàng)建鏈表結構的時候自行實現(xiàn)。

單向鏈表實現(xiàn)

掌握單向鏈表結構的實現(xiàn),以在自定義文件可寫流的時候實現(xiàn)存儲需要排隊寫入的數(shù)據(jù)。

鏈表結構包含 node、head、null

默認鏈表是空的,也就是 head 指向 null

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

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

節(jié)點本身還要存儲數(shù)據(jù),使用一個屬性存儲:element

使用鏈表結構的行為一般有:增加、刪除、修改、查詢、清空

“node有沒有鏈表結構”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI