#include<list>
链表,只能顺序访问,不支持随即访问,因此不支持下标运算符operator[ ]。
构造函数:
list<int> l1;
函数操作:
list仍然包涵了erase(),begin(),end(),insert(),push_back(),push_front()这些基本函数。
其他函数:
merge():合并两个排序列表;
splice():拼接两个列表;
sort():列表的排序;
#include <iostream>
#include <string>
#include <list>
using namespace std;
void PrintIt(list<int> n)
{
for(list<int>::iterator iter=n.begin(); iter!=n.end(); ++iter)
cout<<*iter<<" ";//用迭代器进行输出循环
}
int main(void)
{
list<int> listn1,listn2;
//给listn1,listn2初始化
listn1.push_back(123);
listn1.push_back(0);
listn1.push_back(34);
listn1.push_back(1123);
//now listn1:123,0,34,1123
listn2.push_back(100);
listn2.push_back(12);
//now listn2:12,100
listn1.sort();
listn2.sort();
//给listn1和listn2排序
//now listn1:0,34,123,1123 listn2:12,100
PrintIt(listn1);
cout<<endl;
PrintIt(listn2);
listn1.merge(listn2);
//合并两个排序列表后,listn1:0,12,34,100,123,1123
cout<<endl;
PrintIt(listn1);
cin.get();
}
splice的用法:
list1.splice(position,list_value); list1.splice(position,list_value,ptr); list1.splice(position,list_value,first,last);
//list_value是一个已存在的列表,它将被插入到源列表中,position是一个迭代参数,他当前指向的是要进行拼接的列表中的特定位置。