проблема c std::union()

Мой код:

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

using namespace std;

void array_output(vector<int> arr) {
    for (int i = 0; i < arr.size(); i++) {
    cout << arr[i] << " ";
}
cout << endl;
}

int main() {
vector<int> arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
vector<int> arr2 = {1, 2, 4, 0, 7, 8, 6, 11, 9, 10};
vector<int> out;
array_output(arr);

set_union(arr.begin(), arr.end(), arr2.begin(), arr2.end(), back_inserter(out));
array_output(out);
}

Вот, что он выводит:

1 2 3 4 5 6 7 8 9 10 
1 2 3 4 0 5 6 7 8 6 9 10 11 9 10

Почему в объединении у меня получаются две шестёрки?


Ответы (0 шт):