重念一次早該補起來的「資料結構與演算法」。這篇筆記下連結串列 ( Linked List ) 的新增資料。
課程相關資訊
[連結]:https://hiskio.com/courses/572/lectures/29837
本篇範圍:Chapter 8
請注意:本系列文章為個人對應課程的消化吸收後,所整理出來的內容。換言之,並不一定會包含全部的課程內容,也有可能會添加其他資源來說明。
內容
節點和連結串列實作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
class Node{ constructor(value){ this.value = value this.next = null } } class LinkedList{ constructor(){ this.head = null this.length = 0 } push(value){ const newNode = new Node(value) if(this.head === null){ this.head = newNode }else{ let currentNode = this.head while(currentNode.next !== null){ currentNode = currentNode.next } currentNode.next = newNode } this.length++ } printAll(){ if(this.length === 0){ console.log('Nothing in the linked list.') return } let currentNode = this.head while(currentNode !== null){ console.log(currentNode.value) } } } |