《C++ primer 》 獵豹網校 順序容器 STL list類 2018/10/7
阿新 • • 發佈:2018-12-14
可以在前邊,後邊,中間 插入資料
- 例項化std::list 物件
- 在list開頭插入元素
- 在list末尾插入元素
- 在list中間插入元素
- 刪除list中的元素
- 對list中元素進行反轉和排序
插入元素:
#include <iostream> #include <list> using namespace std; void PrintListContents(const list<int>& listInput); int main() { list<int> a; list<int> b; std::list<int>::iterator iter; b.push_back(100); b.push_back(200); b.push_back(300); b.push_back(400); b.push_back(500); PrintListContents(b); cout <<endl; a.push_front(4); a.push_front(3); a.push_front(2); a.push_front(1); a.push_back(5); iter = a.begin(); ++iter; a.insert(iter,10); //a.insert((iter+1),11); a.insert(a.end(),4,20); a.insert(a.begin(),b.begin(),b.end()); PrintListContents(a); cout << "Hello world!" << endl; return 0; } void PrintListContents(const list<int>& listInput) { std::list<int>::const_iterator iter; for(iter = listInput.begin();iter!= listInput.end();++iter) cout<< *iter <<endl; }
刪除list中的元素:
#include <iostream> #include<list> using namespace std; void PrintListContents(const list<int>& listInput); int main() { std::list<int> a; a.push_front(4); a.push_front(3); list<int>::iterator iElementValueTwo; iElementValueTwo = a.insert(a.begin(),2);//放一個數據,返回該資料的位置 a.push_front(1); a.push_front(0); PrintListContents(a); cout <<endl; a.erase(a.begin(),iElementValueTwo); PrintListContents(a); a.erase(iElementValueTwo,a.end()); PrintListContents(a); return 0; } void PrintListContents(const list<int>& listInput) { cout << "{"; std::list<int>::const_iterator iter; for(iter = listInput.begin();iter!= listInput.end();++iter) cout<< *iter <<" "; cout << "}"<<endl; }
LIST的反轉與排序:
#include<iostream> #include<list> using namespace std; void PrintListContents(const list<int>& listInput); int main() { std::list<int> a; a.push_front(4); a.push_front(9); a.push_front(1); a.push_front(34); a.push_front(13); PrintListContents(a); a.reverse(); PrintListContents(a); a.sort(); PrintListContents(a); return 0; } void PrintListContents(const list<int>& listInput) { cout << "{"; std::list<int>::const_iterator iter; for(iter = listInput.begin();iter!= listInput.end();++iter) cout<< *iter <<" "; cout << "}"<<endl; }