Cod sursa(job #1565510)

Utilizator adimiclaus15Miclaus Adrian Stefan adimiclaus15 Data 10 ianuarie 2016 21:57:33
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;
void qs(int x,int y,int a[])
{
    if(x<y)
    {
        int m,i,j,aux;
        m=a[(x+y)/2];
        i=x-1;
        j=y+1;
        while(i<j)
        {
            do
            {
                j--;
            }
            while(a[j]>m);
            do
            {
                i++;
            }
            while(a[i]<m);
        if(i<j)
        {
            aux=a[i];
            a[i]=a[j];
            a[j]=aux;
        }
        }
        qs(x,j,a);
        qs(j+1,y,a);
    }
}
int main()
{
    int a[500001],n,i;
    ifstream f("algsort.in");
    ofstream g("algsort.out");
    f>>n;
    for(i=1;i<=n;i++)
    {
        f>>a[i];
    }
    qs(1,n,a);
    for(i=1;i<=n;i++)
        g<<a[i]<<" ";
    return 0;
}