Cod sursa(job #1017398)

Utilizator LaviniastarLaaaaaa Sttttttt Laviniastar Data 27 octombrie 2013 19:04:37
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("algsort.in");
ofstream g("algsort.out");

int a[500001];
int i,n;

void quiksort(int st,int dr)
{int aux,j,m;
    i=st;j=dr;

    m=a[(st+dr)/2];
    i=st; j=dr;
   do
   {while(a[i]<m)
   i++;
   while(a[j]>m)
   j--;
   if(i<=j)
   {
       aux=a[j];a[j]=a[i];a[i]=aux;
       i++;j--;
   }
   }
   while(j>i);


    if(st<j)
    quiksort(st,j);
    if(i<dr)
    quiksort(i,dr);
}
int main()
{
    int i,a[500001];
    f>>n;
    for(i=1;i<=n;i++)
        f>>a[i];
    quiksort(1,n);
    for(i=1;i<=n;i++)
        g<<a[i]<<" ";
    f.close();
    g.close();
    return 0;
}