#include <iostream>
#include <list>
#include <algorithm>
using namespace std;
int main(int argc,int **argv){
list<int> l;
l.push_back(2);
l.push_back(1);
l.push_back(5);
l.push_front(8);
l.push_back(1);
// 向迭代器位置插入新的元素
//list<int>::iterator iter = l.begin();
//iter++;
//l.insert(iter,20);
//使用前向迭代器进行list遍历
//for (iter = l.begin();iter!=l.end();++iter)
// cout<<*iter<<" ";
//cout<<endl;
//使用反向迭代器进行list遍历
//list<int>::reverse_iterator iter;
//for (iter = l.rbegin();iter!= l.rend();++iter)
// cout<<*iter<<" ";
//cout<<endl;
list<int>::iterator iter;
for (iter = l.begin();iter!=l.end();++iter)
cout<<*iter<<" ";
cout<<endl;
//元素的删除remove方法
//l.remove(1);
//for (iter = l.begin();iter!=l.end();++iter)
// cout<<*iter<<" ";
//cout<<endl;
//pop_front方法,删除首部元素
//l.pop_front();
//for (iter = l.begin();iter!=l.end();++iter)
// cout<<*iter<<" ";
//cout<<endl;
//pop_back()方法,删除尾部元素
//l.pop_back();
//for (iter = l.begin();iter!=l.end();++iter)
// cout<<*iter<<" ";
//cout<<endl;
//使用erase方法删除迭代器位置的元素
//iter = l.begin();
//iter++;
//iter++;
//l.erase(iter);
//for (iter = l.begin();iter!=l.end();++iter)
// cout<<*iter<<" ";
//cout<<endl;
//元素的查找,find函数
//iter = find(l.begin(),l.end(),5);
//if (iter!=l.end())
// cout<<"find it!"<<endl;
//else
// cout<<"can not find !"<<endl;
//iter = find(l.begin(),l.end(),10);
//if (iter!=l.end())
// cout<<"find it!"<<endl;
//else
// cout<<"can not find !"<<endl;
//元素的排序
l.sort();
for (iter = l.begin();iter!=l.end();++iter)
cout<<*iter<<" ";
cout<<endl;
return 0;
}