看板 Visual_Basic 關於我們 聯絡資訊
: and more seductive的工具。無上限的串列當然有,叫做list,但是我不建 : 議用,因為會讓事情變得過於簡單。如果要用請自己看help。 list 也有上限.. 這跟事情簡不簡單也沒什麼關係吧 @@ 兩個適用於不同的地方, 有不同的 trade-off 要考量.. 而且這不是上限不上限的問題, 是可否動態調整配置的問題. 像 Array 這種東西, 因為通常用連續配置記憶體的方式來實作, 所以想要存取第n個項目是, 可以很快的算出他在什麼地方, 因此隨機存取的速度快, 但缺乏彈性, 擴建時的 overhead 很大 => 適用較少量, 大小固定, 很少insert新資料(因為擴增慢), 而很常要讀資料(快) 而 List 通常較強調可以動態調整大小, 可能的實作方式有 1. Linked List => insert 較快, 但存取較慢(找第n個元素要循序找) 而且要有額外的空間來記錄 next 在哪 2. Reallocation => 不夠就新配置一個更大的空間, 再把舊資料copy過去, 現有空間滿時, 因為要重新配置與複製所以會很慢, 但空間夠時, insert就跟 array 一樣快, 因為通常也是用array實作, 所以存取跟array一樣快 從msdn文件看來, .NET中的List應該是屬於 2 的這種.. 所以依原po需要能動態擴充的要求, 應該往 List 的方向來下手.. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.135.11
MOONRAKER:阿我設一個list 然後一直add就好了 小數量下根本 05/05 18:02
MOONRAKER:不用擔心 這樣當然是比較簡單 怎麼會跟簡單沒關係 05/05 18:02
MOONRAKER:大概這樣就叫各自表述吧,哈 05/05 18:03