龙小爱编程

导航

 

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输出结果:

 

posted on 2017-03-13 23:22  龙小爱编程  阅读(101)  评论(0)    收藏  举报