Pagini recente » Cod sursa (job #1207252) | Cod sursa (job #2343153) | Istoria paginii runda/simunat_07_10_2021/clasament | Cod sursa (job #129186) | Cod sursa (job #2868671)
#include <bits/stdc++.h>
using namespace std;
void QS(int a[], int st, int dr)
{
if(st>=dr) return;
int mij=(st+dr)/2;
swap(a[st],a[mij]);
int i=st,j=dr;bool ok=0;
while(i<j)
{
if(a[i]>a[j]) swap(a[i],a[j]);
j-=ok;
ok=1-ok;
i+=ok;
}
QS(a,st,i-1);
QS(a,i+1,dr);
}
ifstream fin("algsort.in");
ofstream fout("algsort.out");
int main()
{
int n;
int a[500005];
fin>>n;
for(int i=1;i<=n;i++) fin>>a[i];
QS(a,1,n);
for(int i=1;i<=n;i++) fout<<a[i]<<" ";
}