鍊錶和陣列一樣是一種資料結構。
陣列是將元素在記憶體中連續存放,由於每個元素占用記憶體相同,所以可以通過下標迅速訪問陣列中任何元素。但是如果要在陣列中增加乙個元素,需要移動大量元素,在記憶體中空出乙個元素的空間,然後將要增加的元素放在其中。同樣的道理,如果想刪除乙個元素,同樣需要移動大量元素去填掉被移動的元素。
鍊錶恰好相反,鍊錶中的元素在記憶體中不是順序儲存的,而是通過存在元素中的指標聯絡到一起。如:上乙個元素有個指標指到下乙個元素,以此類推,直到最後乙個元素。如果要訪問鍊錶中乙個元素,需要從第乙個元素開始,一直找到需要的元素位置。但是增加和刪除乙個元素對於鍊錶資料結構就非常簡單了, 只要修改元素中的指標就可以了。
從上面的比較可以看出,如果需要快速訪問資料,很少或不插入和刪除元素,就應該用陣列;相反, 如果需要經常插入和刪除元素就需要用鍊錶資料結構了。
陣列與鍊錶
陣列和鍊錶簡介 在計算機中要對給定的資料集進行若干處理,首要任務是把資料集的一部分 當資料量非常大時,可能只能一部 分一部分地讀取資料到記憶體中來處理 或全部儲存到記憶體中,然後再對記憶體中的資料進行各種處理。例如,對於資料集 s,要求 s 中元素的和,首先要把資料儲存到記憶體中,然後再將記憶體中的...
陣列與鍊錶
陣列,在記憶體上給出了連續的空間.鍊錶,記憶體位址上可以是不連續的,每個鍊錶的節點包括原來的記憶體和下乙個節點的資訊 單向的乙個,雙向鍊錶的話,會有兩個 優點 使用方便 查詢效率 比煉表高,記憶體為一連續的區域 缺點 大小固定,不適合動態儲存,不方便動態新增 優點 可動態新增刪除 大小可變 缺點 只...
陣列與鍊錶
使用陣列意味著所有待辦事項在記憶體中都是相連的 緊靠在一起的 所以在陣列中新增新元素也可能很麻煩。如果沒有了空間,就得移到記憶體的其他地方,因此新增新元素的速度會很慢。一種解決之道是 預留座位 即便當前只有3個待辦事項,也請計算機提供10個位置,以防需要新增待辦事項。這樣,只要待辦事項不超過10個,...