std list主要函式

2021-07-06 03:08:21 字數 1062 閱讀 1170

list是乙個雙向鍊錶,因此它的函式也都要從鍊錶的角度來進行理解。

迭代器

返回迭代器,和list<>::iterator一起使用,注意end()指向鍊錶末尾,不指向最後乙個元素

begin()

end()

返回反向迭代器,和list<>::reverse_iterator一起使用,注意rend()指向鍊錶起始,不指向第乙個元素

rbegin()

rend()

返回第乙個、最後乙個元素

front()

back()

插入資料

向煉表頭、尾插入元素

push_front()

push_back()

向鍊錶指定位置插入乙個或多個元素

insert()

重置list大小並賦預設值

resize()

刪除資料

刪除煉表頭、鍊錶尾的元素

pop_front()

pop_back()

刪除迭代器指向的乙個或一段元素

erase()

刪除指定值的元素

remove()

清空list

clear()

判斷list是否為空

empty()

合併、交換list

將兩個list合併,注意是移動元素,而不是拷貝

merge()

將乙個list中的全部或部分元素移動,合併到另乙個list指定的位置

splice()

交換兩個list的元素

swap()

排序、刪除重複元素、倒轉所有元素的排列

sort()

unique()

reverse()

list大小相關函式

返回list大小,返回list能夠儲存的最大容量

size()

max_size()

關於std list中的sort

關於std list中的sort list sort void sort template void sort pred pr 這兩個成員函式都會按下面所描述的謂詞來對被控序列中的元素排序。假設迭代器pi指向位於位置i處的元素,pj指向位於位置j處的元素,當i include struct myst...

std vector與std list的效率比較

一直想知道std中vector和list的效率哪個高些。於是做了乙個簡單的測試,對std vector和list的push back與遍歷操作的效率進行比較。結果如下 1.push back操作 連續push back操作100000個元素,然後clear 一直重複10000次。vector耗時13...

std vector與std list的區別

vector std vector是一種順序容器,可以存放任意型別的物件,如int double bool等 它是乙個動態的陣列 即不需要像普通陣列 如int a 10 一樣預先分配元素個數,它可以根據插入的元素的多少來擴充對應的容量,一般是原先的1.5 2倍。實質為,把之前的資料複製到新的陣列中,...