array、arraylist、list、linkedlist、queue、stack、dictionary
陣列array
特點:arraylist(非泛型集合)儲存在連續的記憶體上
元素型別相同
直接通過下表訪問
建立時需要指定陣列長度
根據下標索引元素並進行相關操作速度快,但插入或刪除元素比較麻煩
特點:list(泛型集合)不需要指定長度,其長度是依據儲存的資料動態增長和縮減
可以儲存不同型別的元素,它是直接把元素當做object來處理
因儲存不同型別的元素,集合的裝箱和拆箱操作是十分頻繁的,對cpu效能影響較大
不安全性,把元素當做object來處理,有可能發生型別不匹配的情況
不需要指定長度linkedlist元素型別都相同
確保型別安全
較少裝箱與拆箱的操作
與陣列比較像,其實泛型集合內部是通過array來實現的,它不確定長度,其長度是根據儲存的元素的長度來建立陣列儲存元素,當新增的元素長度超過陣列的剩餘長度,就會建立乙個倍增後的陣列來儲存元素
特點:queue(佇列)儲存在不連續的記憶體上,索引的速度慢
對鍊錶的插入或刪除無需調整結構容量,不需要移動元素,只是改變部分元素的指向即可
特點:stack(棧)先進先出
預設初始容量32,增長因子為2.0
使用enqueue判斷佇列長度是否夠用,若不夠,依據增長因子增加容量
特點:dictionary(字典)後進先出
預設容量是10
使用pop和push實現進出棧的操作
特點:使用場景字典中每乙個元素值都有乙個鍵值與之對應,根據鍵值查詢速度很快
建立乙個字典,內部會有兩個陣列分別儲存鍵值和元素
不能包含重複的鍵
array 被處理的元素數量確定且需要使用下標
arraylist 不建議使用
list 元素數量不確定
linkedlist 數量不確定,經常需要修改
queue 元素先進先出
stack 先進後出
dictionary 鍵值對,快速查詢
C 常用資料結構
資料結構 型別及備註 插入和刪除 查詢array 順序儲存的線性表 定長 不支援 這裡的插入與刪除指會更改表長的行為 o n linkedlist 鏈式儲存的線性表 不定長 o 1 o n list 順序儲存的線性表 不定長 動態擴容 o n 結尾則是o 1 o n stack 棧 不定長 動態擴容...
常用資料結構
文章參考 資料結構 c語言版 嚴蔚敏 線性表 有頭有尾,中間節點有前驅有後繼 定義 一組連續的儲存單元依次儲存線性表的資料元素。定長順序表 typedef struct sqlist psqlist 不定長順序表 typedef struct dsqlist dsqlist,pdsqlist 單鏈表...
常用資料結構
function delete array element arr,pos for i pos 1 i length 1 i array pop arr return arr pos 3 echo 除第位置上的元素後 echo implode delete array element arr,pos...