Pagini recente » Cod sursa (job #407623) | Cod sursa (job #2795803) | Cod sursa (job #1933598) | Cod sursa (job #2219113) | Cod sursa (job #2347401)
#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;
for (int i = 0; i < N; ++i) {
int x;
cin >> x;
v.push_back(x);
}
QSort(0, N - 1);
for (auto it: v) {
cout << it <<" ";
}
cout << "\n";
return 0;
}