gpt4 book ai didi

c++ - 合并 vector

转载 作者:行者123 更新时间:2023-11-30 02:47:11 24 4
gpt4 key购买 nike

我写了这个函数,它应该按升序合并两个 vector 而不重复。该函数应该返回结果 vector ,但是当我尝试显示它时没有任何反应,尽管显示函数适用于其他 vector 。我也没有收到任何错误,所以它就像生成的 vector 一样是空的。我正在尝试学习迭代器,这是第一次使用它们,所以也许我误解了这个概念。这是代码:

      vector<int> sort(vector<int> &a, vector<int> &b){
vector <int> sorted;
for (vector<int>::iterator it = a.begin(); it != a.end();) {
for (vector<int>::iterator it2 = b.begin(); it2 != b.end();) {
if (*it < *it2){
sorted.push_back( *it);
++it2;
}
else if (*it >*it2){
sorted.push_back(*it2);
++it;
}
else if (*it == *it2){
sorted.push_back(*it);
++it;
++it2;
}
}
}
return sorted;
}

我是否错误地使用了迭代器?非常感谢任何帮助。

最佳答案

std::set_union<algorithm> 中定义做你想做的事。参见 here以供引用。在“可能的实现”下,您可以找到一个有效的实现。

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

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