# include <iostream>
# include <list>
using namespace std;
void PrintListContents(const list<int> & listInput);
int main(){
list<int> a;
//在链表前添加数据
a.push_front(10);
a.push_front(-23);
a.push_front(100);
//在链表的末端添加数据
a.push_back(8888);
a.push_back(2345);
std::list<int>::iterator iter;
//链表的中间插入数据
a.insert(a.begin(),10);//在开头前面添加一个10
/*
和20行代码效果一样
iter = a.begin();
a.insert(iter,10);
可以通过控制迭代器在链表的某一个位置插入数据
*/
a.insert(a.end(),4,20);//在末端插入4个20
//PrintListContents(a);
/*
//不能用下标输出迭代
for(iter=a.begin();iter!=a.end();iter++){//a.begin()返回一个迭代器
cout<<*iter<<endl;
}
*/
list<int> b;
b.push_back(1);
b.push_back(1);
b.push_back(1);
//PrintListContents(b);
//b中的数据全部添加到a的末尾
//a.insert(a.end(),b.begin(),b.end());
//b中的数据全部添加到a的开头
//a.insert(a.begin(),b.begin(),b.end());
//b中的数据全部添加到a的中间
iter=a.begin();
a.insert(++iter,b.begin(),b.end());
PrintListContents(a);
return 0;
}
void PrintListContents(const list<int> & listInput){
//不加空间名也可以,因为已经 using namespace std;
list<int>::const_iterator iter;
for(iter=listInput.begin();iter!=listInput.end();iter++){
cout<<*iter<<endl;
}
}