#include <iostream>
#include <list>
using namespace std;
typedef list<int> LISTINT;
void display(LISTINT list,char *name)
{
LISTINT::iterator i;
cout<<"name = "<<name<<endl;
for(i=list.begin();i!=list.end();i++)
cout<<*i<<endl;
}
int main()
{
cout<<"=================================================="<<endl;
LISTINT list1;
LISTINT list2(10,6);
LISTINT list3(list2.begin(),--list2.end());
//display(list1,"list1");
//display(list2,"list2"); //10个6
//display(list3,"list3"); //9个6
list1.push_back(2);
list1.push_back(4);
display(list1,"list1");
list1.push_front(5);
list1.push_front(7);
display(list1,"list1");
//list1.insert(++(++list1.begin()),3,9);
list1.insert(list1.begin(),9);
display(list1,"list1");
//测试引用类函数
cout<<"list1.front()="<<list1.front()<<endl;
cout<<"list1.front()="<<list1.back()<<endl;
//从list1序列的前后各移去一个元素
list1.pop_front();
list1.pop_back();
cout<<"list1.pop_front() and list1.pop_back():"<<endl;
display(list1,"list1");
//清除list1中的第2个元素
//list1.erase(++list1.begin());
cout<<"list1.erase(++list1.begin()):"<<endl;
display(list1,"list1");
display(list3,"list3");
list3.insert(list3.begin(),9);
display(list3,"list3");
//display(list2,"list2");
//对list2赋值并显示
list2.assign(8,1);
cout<<"list2.assign(8,1):"<<endl;
//display(list2,"list2");
//显示序列的状态信息
cout<<"list1.max_size(): "<<list1.max_size()<<endl;
cout<<"list1.size(): "<<list1.size()<<endl;
cout<<"list1.empty(): "<<list1.empty()<<endl;
cout<<"list1>list3: "<<(list1>list3)<<endl;
cout<<"list1<list3: "<<(list1<list3)<<endl;
list1.sort();
display(list1,"list1");
list1.splice(++list1.begin(), list3);
display(list1,"list1");
display(list3,"list3");
system("pause");
}
#include <list>
using namespace std;
typedef list<int> LISTINT;
void display(LISTINT list,char *name)
{
LISTINT::iterator i;
cout<<"name = "<<name<<endl;
for(i=list.begin();i!=list.end();i++)
cout<<*i<<endl;
}
int main()
{
cout<<"=================================================="<<endl;
LISTINT list1;
LISTINT list2(10,6);
LISTINT list3(list2.begin(),--list2.end());
//display(list1,"list1");
//display(list2,"list2"); //10个6
//display(list3,"list3"); //9个6
list1.push_back(2);
list1.push_back(4);
display(list1,"list1");
list1.push_front(5);
list1.push_front(7);
display(list1,"list1");
//list1.insert(++(++list1.begin()),3,9);
list1.insert(list1.begin(),9);
display(list1,"list1");
//测试引用类函数
cout<<"list1.front()="<<list1.front()<<endl;
cout<<"list1.front()="<<list1.back()<<endl;
//从list1序列的前后各移去一个元素
list1.pop_front();
list1.pop_back();
cout<<"list1.pop_front() and list1.pop_back():"<<endl;
display(list1,"list1");
//清除list1中的第2个元素
//list1.erase(++list1.begin());
cout<<"list1.erase(++list1.begin()):"<<endl;
display(list1,"list1");
display(list3,"list3");
list3.insert(list3.begin(),9);
display(list3,"list3");
//display(list2,"list2");
//对list2赋值并显示
list2.assign(8,1);
cout<<"list2.assign(8,1):"<<endl;
//display(list2,"list2");
//显示序列的状态信息
cout<<"list1.max_size(): "<<list1.max_size()<<endl;
cout<<"list1.size(): "<<list1.size()<<endl;
cout<<"list1.empty(): "<<list1.empty()<<endl;
cout<<"list1>list3: "<<(list1>list3)<<endl;
cout<<"list1<list3: "<<(list1<list3)<<endl;
list1.sort();
display(list1,"list1");
list1.splice(++list1.begin(), list3);
display(list1,"list1");
display(list3,"list3");
system("pause");
}