有時候需要在內存中存儲一系列元素。
比如待辦事項,用數組還是鏈表呢?
數組意味着所有待辦事項在內存中都是相連的(緊靠在一起的)。
鏈表中的元素可以存儲在內存
鏈表的每個元素都存儲了下一個元素的地址,從而使得一系列的隨機的內存地址串在了一起。
只要有足夠的內存空間,就能為鏈表分配內存。
數組的優勢
當同時讀取所有元素時,鏈表的效率很高,讀第一個,讀第二個,以此類推。
但當你需要跳躍,鏈表的效率就很低了。
數組,則很方便讀取每一個元素的內容。因為知道第一個,就知道了所有的地址。它們是連在一起的。
數組和鏈表操作的時間復雜度
插入多,讀取少。用鏈表。
插入少,讀取多。用數組。
在中間插入數據,哪個更好呢
鏈表更方便一些,只需要修改它前面的那個元素指向的地址就可以了。
使用數組時,必須將后面的元素都向后移動。如果空間不足,還要重新復制新的空間。
刪除數據,哪個更好呢
也是鏈表更好一些。
只需要將前一個元素指向的地址更改即可。
使用數組,則必須將后面的元素都向前移動。
但是實際的應用中,數組用的更多一些。因為它支持隨機讀取。