list容器描述和特点:
1、记录存储时不要求内存块连续,每个节点都保存了下一个节点的位置信息;
2、插入、删除和移动记录时比数组、vector高效;
3、插入数据时既可以链表头插入、也可以尾插入;
4、访问时通过迭代器进行便利访问或者固定从链表头或者尾获取记录;
5、C++11 标准新增了返回const类型的迭代器。
代码如下:
#include <iostream>
#include <list>
using namespace std;
int main(int argc, char *argv[]) {
list<int> srcList;
list<int> desList;
list<int>::iterator ite=desList.begin();
for(int i = 1;i<=5;i++){
srcList.push_back(i); //initialize 1,2,3,4,5
desList.insert(ite,i*100); //initialize 100,200,300,400,500
}
//merge method
srcList.merge(desList);
for(list<int>::iterator it = srcList.begin();it != srcList.end();it++){
cout<<*it<<" ,";
}
cout<<endl;
cout<<"desList.size="<<desList.size()<<endl;//after merge desList size is 0
desList.push_front(10);// desList is 10
desList.push_front(20);//desList is 20,10
//desList.sort();
srcList.merge(desList);
for(list<int>::iterator it = srcList.begin();it != srcList.end();it++){
cout<<*it<<" ,";
}
return 0;
}
merge后,desList记录被清空,size大小为0,重新对desList初始化后,没有进行sort排序,使用merge输出结果:

经过排序后调用merge输出结果:

浙公网安备 33010602011771号