Начал изучение C++.
Решил реализовать алгоритм быстрой сортировки, а он не работает
Вот код:
#include <iostream>
#include <vector>
using namespace std;
int Partition(vector<int> A, int p, int r) {
int x = A[r];
int i = p - 1;
for (int j = p; j < r-1; j++) {
if (A[j] <= x) {
i++;
swap(A[i], A[j]);
}
}
swap(A[i + 1], A[r]);
return i + 1;
}
void Quicksort(vector<int> A, int p, int r) {
if (p < r) {
int q = Partition(A, p, r);
Quicksort(A, p, q - 1);
Quicksort(A, q + 1, r);
}
}
int main() {
int n;
cin >> n;
vector <int> A(n);
for (int i = 0; i < n; i++) {
cin >> A[i];
}
Quicksort(A, 0, A.size() - 1);
for (int i = 0; i < n; i++) {
cout << A[i] << " ";
}
system("pause");
return 0;
}
Где ошибка? И как ее исправить?
Программа выводит: