1. 程式人生 > >C++ STL Merge的用法

C++ STL Merge的用法

merge函式的作用是:將兩個有序的序列合併為一個有序的序列。函式引數:merge(first1,last1,first2,last2,result,compare);

//firs1t為第一個容器的首迭代器,last1為第一個容器的末迭代器,first2為第二個容器的首迭代器,last2為容器的末迭代器,result為存放結果的容器,comapre為比較函式(可略寫,預設為合併為一個升序序列)。

#include "algostuff.hpp"
#include <iterator>
#include <ostream>
using namespace std;


int main(){
list<int> coll1;
set<int> coll2;


INSERT_ELEMENTS(coll1,1,6);
INSERT_ELEMENTS(coll2,3,8);


PRINT_ELEMENTS(coll1,"coll1:");
cout<<endl;
PRINT_ELEMENTS(coll2,"coll2:");
cout<<endl;
cout<<"merged:";


merge(coll1.begin(),coll1.end(),coll2.begin(),coll2.end(),ostream_iterator<int>(cout," "));


cout<<endl;


return 1;
}

輸出:

coll1:1 2 3 4 5 6 
coll2:3 4 5 6 7 8 
merged:1 2 3 3 4 4 5 5 6 6 7 8