STL學習 list使用簡要總結

2021-10-02 12:41:02 字數 1367 閱讀 9625

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 預設排序...