Cod sursa(job #1281049)

Utilizator CalinCojoFMI Cojocaru Calin George CalinCojo Data 2 decembrie 2014 20:08:22
Problema Sortare prin comparare Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

void quicks(int v[],int left,int right){
    int piv=left+(right-left)/2;
    int i=left,j=right,aux;
    while(i<=j){
        while(v[i]<v[piv]){
            i++;
        }
        while(v[j]>v[piv]){
            j--;
        }
            if(i<=j){
                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
                i++;j--;
            }
    }
    if(i<right)
        quicks(v,i,right);
    if(j>left)
        quicks(v,left,j);



}

int main()
{
    int v[500003], i ,n;
    ifstream f("algsort.in",ios::in);
    ofstream g("algsort.out",ios::out);

    f>>n;

    for(i=1;i<=n;i++)
        f>>v[i];

    quicks(v,1,n);
    for(i=1;i<=n;i++)
        g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}