温馨提示×

merge在现代C++中的新特性

c++
小樊
106
2024-07-12 15:43:29
栏目: 编程语言

在现代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函数要求被合并的序列已经按照升序排列,否则结果可能无法正确合并。

0