Pagini recente » Cod sursa (job #830925) | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #521417) | Cod sursa (job #2422295)
#include <iostream>
#include <iomanip>
#include <unordered_map>
#include <unordered_set>
#include <set>
#include <queue>
#include <memory>
#include <algorithm>
#include <map>
#include <stack>
#include <vector>
#include <string>
#include <cstring>
#include <functional>
using namespace std;
void qsort(vector<int> &v, int l, int r) {
int i = l, j = r, p = v[(i+j)/2];
while (i < j) {
while (v[i] < p) ++i;
while (v[j] > p) --j;
if (i <= j) {
swap(v[i], v[j]);
i++;
j--;
}
}
if (i < r) qsort(v, i, r);
if (j > l) qsort(v, l, j);
}
int main() {
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
int n;
scanf("%d", &n);
vector<int> v;
v.resize(n);
for (int i = 0; i < n; ++i) {
scanf("%d", &v[i]);
}
qsort(v, 0, v.size()-1);
for (int i = 0; i < n; ++i) {
printf("%d ", v[i]);
}
return 0;
}