相對於vector來說,list比較複雜,允許插入,刪除,list節點不保證在儲存空間連續存在,所以必須有指向它的節點,它是雙向環狀鍊錶,需要乙個指標,api為:
push_front(x)
:把元素
x推入(插入)
到鍊錶頭部
pop_front()
:彈出(刪除)
鍊錶首元素
merge(listref):把
listref
所引用的鍊錶中的所有元素插入到鍊錶中
,可指定合併規則
splice()
:把list
連線到pos
的位置
remove(val)
:刪除鍊錶中所有值為
val的元素
remove_if(pred)
:刪除鍊錶中謂詞
pred
為真的元素 (
謂詞即為元素儲存和檢索的描述,如
std::less<>
,std::greater<>
那麼就按降序
/公升序排列
,你也可以定義自己的謂詞)
sort()
:根據預設的謂詞對鍊錶排序
sort(pred)
:根據給定的謂詞對鍊錶排序
unique()
:刪除鍊錶中所有重複的元素
unique(pred)
:根據謂詞
pred
刪除所有重複的元素
,使煉表中沒有重複元素
注意:vector和deque支援隨機訪問,而list不支援隨機訪問,因此不支援訪問!
STL 順序容器 列表list
list和雙向鍊錶結構相似,每個節點包含乙個資料塊,前向指標,和後向指標,儲存在非連續的記憶體空間中 很顯然,查詢操作時,只能順序查詢,不支援內部隨機訪問 不像陣列,向量vectoer,佇列可以用下標查詢 但是可以在任意序列位置插入和刪除,這是vector和queue deque 無法比擬的 而且相...
Python容器之列表 list
列表的定義 列表是一種容器 通常用來儲存計算機的資料物件 列表是可以被改變的序列 列表是由一系列特定的元素組成的,元素與元素之間可能沒有 任何的關聯關係,但他們之間也有先後順序關係l l繫結空列表l 1,2,3,4 l 北京 上海 深圳 西安 l 1,one 3.14,四 ture l 1,2,3....
容器框架 JCF 列表 List
實現優點 缺點適用範圍 特點arraylist linkedlist vector 以可變陣列實現的列表,不支援同步 以雙向鍊錶實現的列表,不支援同步 以可變陣列實現的列表,支援同步,適合多執行緒下使用 利用索引位置可以快速定位訪問 順序訪問高效,中間插入和刪除高效 支援多執行緒 指定位置插入 刪除...