在 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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP