проблема 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
Почему в объединении у меня получаются две шестёрки?