c++list容器
c++常用容器
list容器(双向链表)的迭代器 必须具备前移,后移 提供双向迭代器
vector:单端动态数组(随机访问迭代器)
deque:双端动态数组(随机访问迭代器)
stack:栈容器(没有迭代器)
queue:队列容器(没有迭代器)
list:链表容器(双向迭代器)
c++list 容器代码
#include<list>
#include<iostream>
using namespace std;
void printListInt(list<int> &l){
for(list<int>::iterator it=l.begin();it!=l.end();it++){
cout<<*it<<" ";
}
cout<<endl;
}
int main(){
list<int> l;
l.push_back(10);
l.push_back(20);
l.push_back(30);
l.push_back(40);
printListInt(l);//10 20 30 40
list<int>::iterator it = l.begin();
it++;
it++;
l.insert(it,3,100);
printListInt(l);//10 20 100 100 100 30 40
l.remove(100);//删除所有100
printListInt(l);//10 20 30 40
//链表反转
l.reverse();
printListInt(l);//40 30 20 10
//排序
//list是链表不能使用系统算法,不能写成sort(l.begin(),l.end());
l.sort();
printListInt(l);//10 20 30 40
return 0;
}
运行结果
10 20 30 40
10 20 100 100 100 30 40
10 20 30 40
40 30 20 10
10 20 30 40