#include <iostream>
#include <vector>
vector<int> quickSort(vector<int> arr) {
if (arr.size() <= 1) {
return arr;
} else {
int pivot = arr[0];
vector<int> less1;
vector<int> more;
for (int i = 1; i < arr.size(); i++) {
if (arr[i] <= pivot) {
less1.push_back(arr[i]);
} else {
more.push_back(arr[i]);
}
}
return quickSort(less1) + vector<int>{pivot} + quickSort(more);
}
int main() {
vector<int> arr = {12, 4, 5, 6, 7, 3, 1, 15};
arr = quickSort(arr);
for (int i = 0; i < arr.size(); i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
}
How to overload +
operator in the line return quickSort(less1) + vector<int>{pivot} + quickSort(more);
I have gone through Concatenating two std::vectors and https://www.geeksforgeeks.org/concatenate-two-vectors-in-cpp/
still did not get the idea.