鏈表是N個數據元素的有限序列,最經常使用的是鏈式表達,也叫線性鏈表或鏈表
鏈表中存儲的數據元素也叫節點,一個節點存儲的就是一條記錄
每一個結點的結構包括數據域、指針域兩部分算法
一:操做系統內的動態內存分配
二:LRU緩存淘汰算法緩存
// 1.鏈表插入 s.next = p.next p.next = s // 2.鏈表刪除 p.next = p.next.next // 3.鏈表反轉 while(curr){ next = curr.next curr.next = prev prev = curr curr = next } // 4 快慢指針 // 4.1 奇數個元素鏈表,快慢指針查詢中間結點 while(fast && fast.next && fast.next.next){ fast = fast.next.next; slow = slow.next; } // 4.2 快慢指還能夠用來判斷鏈表是否有環,若是鏈表存在環,快指針和慢指針必定會在環內相遇,即 fast == slow 的狀況必定會發生 // 5. 虛擬頭:鏈表頭可能發生改變時可以使用