一、
二、代码
main.cpp
#include <iostream>
#include <list>
using namespace std;
void PrintListContents(const list<int> &);
int main()
{
cout << "C++ STL list 类:" << endl;
list<int> intList1;//双向链表
list<int> intList2;
list<int>::iterator iter;
list<int>::iterator iterDelete;
iterDelete = intList1.insert(intList1.begin(),600);
intList1.push_front(100);//后端插入数据。
intList1.push_back(200);
intList1.push_back(300);
intList1.push_back(400);
intList1.push_back(500);
cout<<"push插入输出:"<<endl;
PrintListContents(intList1);
cout<<endl;
cout<<"erase删除后输出:"<<endl;
intList1.erase(iterDelete);
PrintListContents(intList1);
cout<<endl;
intList2.push_front(4);//前端插入数据
intList2.push_front(3);
intList2.push_front(2);
intList2.push_front(1);
intList2.push_back(5);
iter = intList2.begin();
++iter;
intList2.insert(iter,10);//在指定位置后插入数据
++iter;
intList2.insert(iter,4,20);//在intList的最后一个节点后插入4个20
intList2.insert(intList2.begin(),intList1.begin(),intList1.end());//将intList1从首到尾插入到intList2中
cout<<"List2-insert插入输出:"<<endl;
cout<<"{";
for(iter = intList2.begin();iter != intList2.end();++iter)
{
cout<<*iter<<" ";
}
cout<<"}";
return 0;
}
void PrintListContents(const list<int> & listInput)
{
/*显示链表里的数据不能使用下标(链表不是数组,数组才能使用下标),只能使用迭代器*/
//list<int>::iterator iter;//定义一个list类的迭代器
// cout<<endl;
cout<<"{";
list<int>::const_iterator iter;//定义一个常迭代器
for(iter = listInput.begin();iter != listInput.end();++iter)
{
cout<<*iter<<" ";
}
cout<<"}"<<endl;
}