gpt4 book ai didi

c++ - 合并两个已排序的 vector

转载 作者:行者123 更新时间:2023-12-03 15:18:36 25 4
gpt4 key购买 nike

我有两个排序 vector

std::vector<int> v1 = {1,3}
std::vector<int> v2 = {2}
我想合并这两个 vector ,使它们在合并后保持排序
第一种方法:
std::vector<int> v3;

for (int i = 0; i < v1.size(); i++)
{
v3.push_back(v1[i]);
}

for (int i = 0; i < v1.size(); i++)
{
v3.push_back(v2[i]);
}

sort(v3.begin(), v3.end());
我不想要这种方法。我想要比这个更好的方法。

最佳答案

我会用 std::merge :

std::vector<int> v3;
v3.reserve(v1.size() + v2.size());
std::merge(v1.begin(), v1.end(),
v2.begin(), v2.end(),
std::back_inserter(v3));

关于c++ - 合并两个已排序的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66524645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com