list採用動態儲存分配,不會造成記憶體浪費和溢位,可以通過修改指標來完成插入和刪除,但是對於遍歷消耗較大。
同時,list的插入和刪除都不會造成原有的迭代器失效(與vector不同)
list lst;
//預設構造
list
(beg, end) lst;
list
(n, elem) lst;
list
(const list &lst)
;//拷貝構造
assign
(beg,end)
;assign
(n,elem)
;list&
operator=(
const list &lst)
;swap
(lst)
;
size()
;empty()
;resize
(num)
;resize
(n,elem)
;
push_back
(elem)
;pop_back()
;push_front
(elem)
;pop_front()
;insert
(pos, elem)
;insert
(pos, n, elem)
;//返回插入位置
insert
(pos, beg, end)
;clear()
;erase
(beg, end)
;//返回下乙個元素位置
erase
(pos)
;remove
(elem)
;//刪除容器中與elem匹配的所有元素
front()
;//返回頭
back()
;//返回尾
不支援at和隨機訪問
reverse()
;//反轉鍊錶
sort()
;//排序,預設小到大模式
list.
sort()
;
這裡的sort不是標準演算法sort,不支援隨機訪問容器內部會提供sort演算法
自定排序規則:
bool
compare
(int a,
int b)
//降序排序
//即表示的意思為,排序時a在b前面
intmain()
STL之List使用總結
list是我們常用的stl標準容器之一,它是一種序列式容器,在資料結構上和雙向鍊錶結構類似,list中的資料元素是通過鍊錶指標串連邏輯意義上的線性表,因此,鍊錶的特點是支援元素在任意位置的插入刪除,且效率很高。list實際上就是我們資料結構中的雙向鍊錶,它的記憶體是不連續的,通過指標來進行資料訪問,...
學習STL 列表list
vector容器提供了對元素的快速隨機訪問,但是付出的代價是在其任意位置插入和刪除元素,比在容器尾部插入和刪除的開銷更大。與vector相比,list容器可以在任何位置快速插入和刪除,但是付出的代價是元素的隨機訪問開銷更大。採用list的結構實現容器的基本操作與vector容器類似。list 容器與...
STL 中list的sort 方法使用總結
1 list中資料型別為基本型別,例如為整數型別排序 include include using namespace std int main return 0 輸出為 2 list中的型別為自定義型別 比方說是乙個自定義的類,那麼如果想為這個類所生成的物件排序的話,因為list.sort 預設排序...