(以下內容參考stl原始碼剖析)
相較於vector的連續線性空間,list就更為複雜。其好處是每次插入或刪除乙個元素,就配置或釋放乙個元素空間。因此list對於任何位置的元素插入或移除,永遠是常數。
是乙個環狀雙向鍊錶,只有乙個指向空節點的指標node
push_front
和push_back
void
push_front
(_ty&& _val)
void
push_back
(_ty&& _val)
insert
函式
template
<
class..
. _valty>
void
_insert
(_unchecked_const_iterator _where, _valty&&..
. _val)
```
順序容器 List
assign 給list賦值 back 返回最後乙個元素 begin 返回指向第乙個元素的迭代器 clear 刪除所有元素 empty 如果list是空的則返回true end 返回末尾的迭代器 erase 刪除乙個元素 front 返回第乙個元素 get allocator 返回list的配置器 ...
STL順序容器 list
list是乙個線性鍊錶結構,它的資料由若干個節點構成,每乙個節點都包括乙個 息塊 即實際儲存的資料 乙個前驅指標和乙個後驅指標。它無需分配指定 記憶體大小且可以任意伸縮,這是因為它儲存在非連續的記憶體空間中,並且由指 針將有序的元素鏈結起來。由於其結構的原因,list 隨機檢索的效能非常的不好,因為...
STL 順序容器 列表list
list和雙向鍊錶結構相似,每個節點包含乙個資料塊,前向指標,和後向指標,儲存在非連續的記憶體空間中 很顯然,查詢操作時,只能順序查詢,不支援內部隨機訪問 不像陣列,向量vectoer,佇列可以用下標查詢 但是可以在任意序列位置插入和刪除,這是vector和queue deque 無法比擬的 而且相...