chapter8-41.cpp

来自「C++STL程序员开发指南」· C++ 代码 · 共 45 行

CPP
45
字号
//文件名:CHAPTER8-41.cpp
#include <iostream> 
#include <list>
#include <algorithm> 
#if _MSC_VER > 1020   // if VC++ version is > 4.2
   using namespace std;  // std c++ libs implemented in std
#endif
void printLists(const list<int>& l1, const list<int>& l2)
{
	cout << "list1: "; 
	copy (l1.begin(), l1.end(), ostream_iterator<int>(cout," ")); 
	cout << endl << "list2: "; 
	copy (l2.begin(), l2.end(), ostream_iterator<int>(cout," ")); 
	cout << endl << endl;
};
int main() 
{
	//create two empty lists
	list<int> list1, list2;
	//fill both lists with elements
	for (int i=0; i<6; ++i) 
	{ 
		list1.push_back(i); 
		list2.push_front(i);
	} 
	printLists(list1, list2);
	//insert all elements of list1 before the first element with value 3 of list2 //-find() returns an iterator to the first element with value 3 
	list2.splice(find(list2.begin(),list2.end(), // destination position 
		3), list1); // source list
	printLists(list1, list2);//move first element to the end
	list2.splice(list2.end(), // destination position
		list2, // source list
		list2.begin()); // source position
	printLists(list1, list2);
	//sort second list, assign to list1 and remove duplicates
	list2.sort(); 
	list1 = list2; 
	list2.unique(); 
	printLists(list1, list2);
	//merge both sorted lists into the first list
	list1.merge(list2); 
	printLists(list1, list2); 
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?