※ 引述《rosemary0401 (rosemary)》之銘言:
: 簡言之,到底甚麼時候用linked list呢?
: (我目前想到大概就是用來實作queue或tree的時候,其他scenario不會用到linked list)
懶得推文所以用回的順便騙騙P幣
目前我用過,最讚歎Linked list的存在的是畫圖的時候
比方說今天你提供個UI,讓使用者可以在螢幕上畫多邊形(小畫家)
只要用Circular list,你就只需要去管開頭在那裡就好
當整個多邊形畫完的時候,只要把結尾指向開頭,這樣就搞定了
然後使用多邊形的時候,一樣是從頭開始依序跑完就好~
這時候不禁感恩Linked list的發明,讚嘆Linked list的發明阿!
所以簡單說:
1. 資料總數不固定時
2. 資料有順序上的相關時
3. 使用時是整串一起使用,整串list代表一個東西
4. 增加/刪除中間任一筆資料,但仍然維持資料整體順序上的相關性
假設五個點代表一個五邊形, 1→2→3→4→5→1
刪掉3,那也就只是變成四邊形1→2→4→5→1
只需要整理List,其他處理的程式不需要額外多做什麼事
以上一點心得分享,在各位高手面前獻醜了