查找在C ++中第一个数组而不是第二个数组中存在的元素
假设我们有两个数组A和B。元素很少。我们必须找到集合A中存在的元素,而集合B中没有这些元素。如果我们认为这种情况,并且将A和B视为集合,则这基本上是集合除法运算。A和B之间的设置差异将返回这些元素。
示例
#include<iostream>
#include<set>
#include<algorithm>
#include<vector>
using namespace std;
void setDiffResults(int A[], int B[], int An, int Bn) {
sort(A, A + An);
sort(B, B + Bn);
vector<int> res(An);
vector<int>::iterator it;
vector<int>::iterator it_res = set_difference(A, A + An, B , B + Bn, res.begin());
cout << "Elements are: ";
for(it = res.begin(); it < it_res; ++it){
cout << *it << " ";
}
}
int main() {
int A[] = {9, 4, 5, 3, 1, 7, 6};
int B[] = {9, 3, 5};
int An = 7, Bn = 3;
setDiffResults(A, B, An, Bn);
}输出结果
Elements are: 1 4 6 7
热门推荐
10 新年门口花束祝福语简短
11 盘锦结婚祝福语大全简短
12 父母生日祝福语 简短独特
13 家庭恩爱祝福语简短英文
14 高考俄语祝福语大全简短
15 虎年祝福语 诗句唯美简短
16 生日婚礼祝福语简短精辟
17 虎年喝酒拜年祝福语简短
18 教师闺蜜祝福语简短