C++ STL Merge的用法
阿新 • • 發佈:2019-02-05
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