#include <iostream>
#include <list>//引入list容器的头文件
#include <algorithm>
using namespace std;
int main(){
list<int> a;
int b[]={1,2,3,4};
list<int> c(b,b+sizeof(b)/sizeof(int));
a.insert(a.begin(),c.begin(),c.end());
a.insert(a.begin(),3,1);
//队头添加元素
a.push_front(0);
//队尾添加元素
a.push_back(5);
cout<<"第一个元素="<<a.front()<<endl;
cout<<"最后一个元素="<<a.back()<<endl;
//删除头部元素
a.pop_front();
//对a进行排序,从小到大排序
a.sort();
//移除重复元素
a.unique();
cout<<"转移之前,c大小="<<c.size()<<endl;
//将c转移给a之前
a.splice(a.begin(),c);
cout<<"转移之后,c大小="<<c.size()<<endl;
a.sort();
int b2[]={7,8,9,10};
list<int> c2(b2,b2+sizeof(b2)/sizeof(int));
cout<<"转移之前,c2大小="<<c2.size()<<endl;
a.merge(c2);
cout<<"转移之后,c2大小="<<c2.size()<<endl;
//将所有元素反序
a.reverse();
//注意i的类型 迭代器
for(list<int>::iterator i=a.begin();i!=a.end();++i){
cout<<*i<<" ";
}
return 0;
}