Pagini recente » Cod sursa (job #2593213) | Cod sursa (job #572106) | Cod sursa (job #2971467) | Cod sursa (job #840751) | Cod sursa (job #2626729)
#include<bits/stdc++.h>
#include<math.h>
using namespace std;
int n, a[500001];
void quickSort(int st, int dr) {
if (st>=dr) return;
int r = (st+dr)/2;
swap(a[st], a[r]);
int piv = a[st], j=st+1;
for (int i=st+1; i<=dr; i++) {
if (a[i] < piv) swap(a[i], a[j]), j++;
}
j--;
a[st]=a[j];
a[j]=piv;
//for (int i=0; i<st; i++) cout<<" ";
//for (int i=st; i<=dr; i++) cout<<a[i]<<" ";
//for (int i=dr+1; i<=n; i++) cout<<" "; cout<<'\n';
quickSort(st, j-1);
quickSort(j+1, dr);
}
int main() {
// ifstream cin("algsort.in");
// ofstream cout("algsort.out");
ios_base::sync_with_stdio(false); cin.tie(0);
cin>>n;
for (int i=0; i<n; i++) cin>>a[i];
quickSort(0,n-1);
for (int i=0; i<n; i++) cout<<a[i]<<" ";
return 0;
}