Pagini recente » Cod sursa (job #2158974) | Cod sursa (job #2109631) | Cod sursa (job #784928) | Cod sursa (job #1293873) | Cod sursa (job #2874964)
#include <bits/stdc++.h>
using namespace std;
int partition (int *arr, int low, int high) {
int pivot = arr[high];
int i = (low - 1);
for (int j = low; j <= high - 1; j++)
if (arr[j] < pivot)
swap(arr[++i], arr[j]);
swap(arr[++i], arr[high]);
return i;
}
void quick_sort(int *arr, int low, int high) {
if (low < high) {
int pi = partition(arr, low, high);
quick_sort(arr, low, pi - 1);
quick_sort(arr, pi + 1, high);
}
}
int main() {
int n;
vector<int> v;
ifstream fin;
fin.open("algsort.in");
ofstream fout;
fout.open("algsort.out");
fin >> n;
for (int i = 0; i < n; i++) {
int x;
fin >> x;
v.push_back(x);
}
quick_sort(v.data(), 0, v.size() - 1);
for (int i = 0; i < v.size(); i++)
fout << v[i] << " ";
fin.close();
fout.close();
return 0;
}