1.栈stack
栈具有先进后出的特性,最先进入的数据压在最底下,最后出来
2.list链表容器
list链表容器是一种双向链表,两端都可插入与删除,是双向访问迭代器,与vertor随机访问迭代器有不同的区别
reverse()函数可以将元素反转过来
#include<iostream>
#include<list>//头文件
#include<algorithm>
using namespace std;
void printlist(list<int> &s)
{
list<int>::iterator it=s.begin();
for( ;it!=s.end();it++)
{
cout<<*it<<" ";
}
cout<<endl;
}
int main()
{
list<int> s;
s.push_back(10);//尾插
s.push_back(20);
s.push_back(30);
s.push_front(40);//头插
s.push_front(50);
s.push_front(60);
printlist(s);
list<int>::iterator it=s.begin();
it++;
it++;
//双向迭代器不支持 +2
//s.insert(s.begin()+2,3,100); 错误写法
s.insert(it,3,100);//插入
printlist(s);
//STL提供的算法只支持随机访问迭代器,而list是双向访问迭代器,标准算法不支持
//sort(s.begin(),s.end()); 错误写法
s.sort(); //链表类模板提供了sort()
printlist(s);
s.reverse();// 将元素反转
printlist(s);
return 0;
}