C++ STL list

  list容器實質是一個雙向鏈表,list不提供隨機訪問功能,當刪除其中一個元素,指向其餘元素的迭代器依然有效。對於任何位置的元素插入或移除,list永遠是常數時間算法

  

構造函數
函數 功能
list<T> lstT list採用採用模板類實現,對象的默認構造形式
list(beg,end) 構造函數將[beg, end)區間中的元素拷貝給自己
list(n,elem) 構造函數將n個elem拷貝給自己
list(const list &lst) 拷貝構造函數

 

 

 

 

 

 

插入和刪除
函數 功能
push_back(elem) 在容器尾部加入一個元素
pop_back() 刪除容器中最後一個元素
push_front(elem) 在容器開頭插入一個元素
pop_front() 從容器開頭移除第一個元素
insert(pos,elem) pos位置插elem元素的拷貝,返回新數據的位置
insert(pos,n,elem) pos位置插入n個elem數據,無返回值
insert(pos,beg,end) pos位置插入[beg,end)區間的數據,無返回值
clear() 移除容器的全部數據
erase(beg,end) 刪除[beg,end)區間的數據,返回下一個數據的位置
erase(pos) 刪除pos位置的數據,返回下一個數據的位置
remove(elem) 刪除容器中全部與elem值匹配的元素

 

 

 

 

 

 

 

 

 

 

 

 

大小操做
函數 功能
size() 返回容器中元素的個數
empty() 判斷容器是否爲空
resize(num) 從新指定容器的長度爲num,變長則用默認值填充新位置;變短刪除超出元素
resize(num, elem) 從新指定容器的長度爲num,變長則用elem填充新位置;變短刪除超出元素

 

 

 

 

 

 

 

 

賦值
函數 功能
assign(beg, end) [beg, end)區間中的數據拷貝賦值給自己
assign(n, elem) n個elem拷貝賦值給自己
list& operator=(const list &lst) 重載等號操做符
swap(lst) lst與自己的元素互換

 

 

 

 

 

 

數據的存取
函數 功能
front() 返回第一個元素
back() 返回最後一個元素

 

 

 

 

 

反轉和排序
函數 功能
reverse() 反轉鏈表:1,2,3,反轉後爲3,2,1
sort() sort爲list的成員函數,而不是STL算法
相關文章
相關標籤/搜索