gpt4 book ai didi

c++ - 从 vector 中删除元素时出现未处理的异常

转载 作者:行者123 更新时间:2023-11-28 01:19:03 25 4
gpt4 key购买 nike

<分区>

我试图找到两个 vector 的交集。我使用了两个循环,如果第一个循环元素等于第二个循环元素,我将该元素插入 vector ,然后删除该元素。但我不断收到错误消息“未处理的异常”。


#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

using namespace std;

void intersect(vector<int>& nums1, vector<int>& nums2)
{
sort(nums1.begin(), nums1.end());
sort(nums2.begin(), nums2.end());
vector<int>v;
if (nums1.size() > nums2.size())
{
for (int i = 0; i < nums1.size(); i++)
{
int first = nums1[i];
for (int j = 0; j < nums2.size(); j++)
{
if (first == nums2[j])
{
v.push_back(first);
nums2.erase(nums2.begin() + i); //Getting an error here
}
}
}
}

for (int i = 0; v.size(); i++)
cout << v[i] << " ";
}

int main()
{
vector<int>nums1 = { 1,2,2,1 };
vector<int>nums2 = { 2,2 };
intersect(nums1, nums2);
return 0;
}

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