Cod sursa(job #1438645)

Utilizator alexandrionUNIBUC Marcu Alexandru alexandrion Data 20 mai 2015 15:33:48
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
using namespace std;

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

void quick(int * a , int left , int right)
{   int i =  left;
    int j =  right;
    int p = a[(left+right)]/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(left<j)
        quick(a,left,j);
     if(i<right)
        quick(a,i,right);

}


int main()
{
    int n , *a;
    f>>n;
    a= new int [n];
    for(register int  i = 0 ; i< n ; i ++)
        f>>a[i];
    quick(a,0,n);
    for(register int i = 0 ; i< n ; i++)
        g<<a[i]<<" ";

    return 0;
}