Cod sursa(job #1281084)

Utilizator CalinCojoFMI Cojocaru Calin George CalinCojo Data 2 decembrie 2014 20:30:46
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cstdlib>
using namespace std;

void quicks(int v[],int left,int right){
    int ran= rand()%(right-left)+left;
    int piv=v[ran];

    int i=left,j=right,aux;

    while(i<=j){
        while(v[i]<piv){
            i++;
        }
        while(v[j]>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;
}