Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

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