Pagini recente » Cod sursa (job #1661163) | Cod sursa (job #1760111) | Cod sursa (job #2416983) | Cod sursa (job #658241) | Cod sursa (job #2911463)
#include <bits/stdc++.h>
using namespace std;
int Partition(vector<int>& v, int p, int q) {
int i = p - 1;
int j = q + 1;
int x = v[p];
while (true) {
do {
i++;
} while (v[i] < x);
do {
j--;
} while (v[j] > x);
if (i < j) {
swap(v[i], v[j]);
} else {
return j;
}
}
return j;
}
void QuickSort(vector<int>& v, int p, int q) {
if (p < q) {
int i = p;
int j = q;
int x = v[(p + q) / 2];
while (i < j) {
while(v[i] < x) {
i++;
}
while (v[j] > x) {
j--;
}
if (i <= j) {
swap(v[i], v[j]);
++i;
--j;
}
}
QuickSort(v, p, j);
QuickSort(v, i, q);
}
}
int main() {
ifstream cin("algsort.in");
ofstream cout("algsort.out");
int n; cin >> n;
vector<int> v(n);
for (int i = 0; i < n; i++)
cin >> v[i];
QuickSort(v, 0, n - 1);
for (int i = 0; i < n; i++)
cout << v[i] << " ";
return 0;
}