Pagini recente » Cod sursa (job #298012) | daasdfasdf | Cod sursa (job #818602) | Monitorul de evaluare | Cod sursa (job #2347402)
#include <bits/stdc++.h>
#define nmax 100005
using namespace std;
typedef pair<int, int> pii;
vector<int>v;
int N, M;
inline int ComputePivot(int left, int right) {
int pivot = v[right];
int leftIndex = left;
for (int i = left; i < right; ++i) {
if (v[i] < pivot) {
swap(v[i], v[leftIndex]);
leftIndex++;
}
}
swap(v[right], v[leftIndex]);
return leftIndex;
}
void QSort(int left, int right) {
if (left < right) {
int pivot = ComputePivot(left, right);
QSort(left, pivot - 1);
QSort(pivot + 1, right);
}
}
int main(){
int i;
freopen("algsort.in","r",stdin);
freopen("algsort.out","w",stdout);
// ios::sync_with_stdio(false);
// cin >> N;
scanf("%d", &N);
for (int i = 0; i < N; ++i) {
int x;
// cin >> x;
scanf("%d", &x);
v.push_back(x);
}
QSort(0, N - 1);
for (auto it: v) {
cout << it <<" ";
printf("%d ", it);
}
printf("\n");
// cout << "\n";
return 0;
}