在現代C++中,merge這個函數可以用于合并兩個已經排序的序列,包括vector、deque以及其他STL容器。merge函數是在
std::vector<int> vec1 = {1, 3, 5};
std::vector<int> vec2 = {2, 4, 6};
std::vector<int> result;
std::merge(vec1.begin(), vec1.end(), vec2.begin(), vec2.end(), std::back_inserter(result));
for (int num : result) {
std::cout << num << " ";
}
上面的代碼將兩個已經排序的vector合并到一個新的vector中,并輸出合并后的結果。在這個例子中,merge函數接受四個參數:兩個要合并的序列的起始和終止迭代器,以及一個用于插入合并結果的迭代器(這里使用了std::back_inserter函數,將結果插入到result的末尾)。
merge函數會按照升序排列合并兩個序列,并將結果存儲在指定的目標序列中。需要注意的是,merge函數要求被合并的序列已經按照升序排列,否則結果可能無法正確合并。