Cod sursa(job #1156905)

Utilizator ReflexIordache Roland Reflex Data 28 martie 2014 09:24:32
Problema Sortare prin comparare Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>

using namespace std;

ifstream fin("algsort.in");
ofstream fout("algsort.out");

int N,a[555000],i;

void quicksort(int inc, int sf)
    {
    int i=inc; int j=sf;
    int p=a[(inc+sf)/2];
    while(i<=j)
        {
        while (a[i]<p) ++i;
        while (a[j]>p) --j;
        if(i<=j)
        {
        swap(a[i],a[j]);
        i++;
        j--;
        }
    if(inc<j)
        quicksort(inc,j);
    if(i<sf)
        quicksort(i,sf);
        }
    }
int main()
{
    fin>>N;
    for(i=1;i<=N;i++)
        fin>>a[i];
    quicksort(1,N);
    for(i=1;i<=N;i++)
        fout<<a[i]<<" ";
    fin.close();
    fout.close();
    return 0;
}