C++ STL list詳解
阿新 • • 發佈:2017-07-25
c++ back main 雙向鏈表 第一個元素 cti ans :link 獲得
一.解釋:
list是一種序列式容器。list容器完成的功能實際上和數據結構中的雙向鏈表是極其相似的,list中的數據元素是通過鏈表指針串連成邏輯意義上的線性表,list不僅是一個雙向鏈表,而其還是一個環狀雙向鏈表。所以它只需要一個指針,便可以完整實現整個鏈表。list有一個重要性質:插入操作(insert)和合並操作(splice)都不會 造成原有的list叠代器失效。甚至 list的元素刪除操作(erase)也只有“指向被刪除元素”的那個叠代器失效,其他叠代器不受任何影響。
二.常用操作:
1.頭文件
#include<list>
2.定義
list<string> test; //定義一個string類型的list
3.常用函數
push_front(x):把元素x推入(插入)到鏈表頭部
push_back(x):把元素x推入(插入)到雙向隊列的尾部
pop_front():彈出(刪除)雙向隊列的第一個元素
pop_back():彈出(刪除)雙向隊列的最後一個元素
begin():返回向量中第一個元素的叠代器
clear(): 清空list中的所有元素。
empty():利用empty() 判斷list是否為空。
front(): 獲得list容器中的頭部元素
back(): 獲得list容器的最後一個元素。
三.例子
#include <iostream> #include<string> #include<list> using namespace std; typedef list<string> LISTSTR; int main() { LISTSTR test; test.push_back("back"); //back test.push_front("middle"); //middle back test.push_front("front"); //front middle back cout<<test.front()<<endl; //front cout<<*test.begin()<<endl; //front cout<<test.back()<<endl; //back cout<<*(test.rbegin())<<endl; //back test.pop_front(); //middle back test.pop_back(); //middle cout<<test.front()<<endl; //middle }
C++ STL list詳解