標準模板庫(list)
阿新 • • 發佈:2019-01-30
對list的理解:
1.list不支援隨機訪問,只支援順序訪問。
2.size用於獲得list的節點個數,clear用於清空list。
3.front和back分別得到首部元素和尾部元素。
#include<iostream> #include<list> using namespace std; int main() { list<int> lst; lst.push_back(1);//尾部新增一個元素 lst.push_back(12);//尾部新增一個元素 cout<<lst.front()<<" "<<lst.back()<<endl; cout<<"元素的節點個數:"<<lst.size()<<endl; lst.pop_back();//彈出尾元素 lst.push_front(2);//首部新增一個元素 cout<<lst.front()<<" "<<lst.back()<<endl; lst.pop_front();//彈出首元素,只剩下一個元素 cout<<lst.front()<<" "<<lst.back()<<endl; cout<<"元素的節點個數:"<<lst.size()<<endl; lst.clear();//清空,節點數為0 cout<<"元素的節點個數:"<<lst.size()<<endl; lst.push_front(1); lst.push_front(2); lst.push_front(3); lst.push_front(4); //迭代器對list進行遍歷 for(list<int>::iterator iter=lst.begin();iter!=lst.end();iter++) { int &p=*iter; cout<<p<<" "; } cout<<endl; lst.insert(iter,2,5);//在iter所指向的位置新增兩個5 lst.insert(iter,2);//在iter所指向的位置新增2 iter=lst.begin();//改變iter指向的位置 lst.insert(iter,2,6);//在iter所指向的位置新增兩個6 lst.insert(iter,9);//在iter所指向的位置新增9 for(iter=lst.begin();iter!=lst.end();iter++) { int &p=*iter; cout<<p<<" "; } cout<<endl; lst.erase(iter=lst.begin());//刪掉iter指向位置的元素 for(iter=lst.begin();iter!=lst.end();iter++) { int &p=*iter; cout<<p<<" "; } cout<<endl; return 0; }
執行結果: