Cod sursa(job #1844431)

Utilizator briooioana brioo brioo Data 9 ianuarie 2017 23:29:50
Problema Sortare prin comparare Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#define N 500010
using namespace std;
int a[N];
int piv(int inf,int sup)
{int long k,aux,x;
x=a[inf];
while (inf<sup)
{if (a[inf]>a[sup]) {aux=a[inf];
                     a[inf]=a[sup];
                     a[sup]=aux;}
if (a[inf]==x) sup--;
else inf++;}
k=inf;
return k;}

void quick (int inf,int sup)
{int long k;
if (sup>inf) {k=piv(inf,sup);
              quick(inf,k-1);
              quick(k+1,sup);}
}
int main()
{int long n,i;
ifstream f("algsort.in");
ofstream g("algsort.out");
f>>n;
for (i=1;i<=n;i++) f>>a[i];
quick(1,n);
for (i=1;i<=n;i++) g<<a[i]<<" ";
f.close();
g.close();
return 0;
}