Cod sursa(job #604871)

Utilizator Cosmin_NTGIonita Cosmin Cosmin_NTG Data 25 iulie 2011 19:18:49
Problema Sortare prin comparare Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.89 kb
#include<fstream>
using namespace std;
ifstream f("algsort.in");
ofstream g("algsort.out");
void quicksort(int v[10000], int left, int right);
int n, v[1000000], i;
int main()
{
    f>>n;
    for(i=1; i<=n; i++)
    {
        f>>v[i];
    }
    quicksort(v, 1, n);
    for(i=1; i<=n; i++)
      g<<v[i]<<" ";
    f.close();
    g.close();
    return 0;
}
void quicksort(int v[10000], int left, int right)
{
    int i, j, mijloc, aux;
    i=left;
    j=right;
    mijloc=v[(left+right)/2];
    while(i<=j)
    {
        while(v[i]<mijloc)
        i++;
        while(v[j]>mijloc)
        j--;
        if(i<=j)
        {
            aux=v[i];
            v[i]=v[j];
            v[j]=aux;
            i++;
            j--;
        }
    }
    if(left<j)
    {
        quicksort(v, left, j);

    }
    if(i<right)
    {
        quicksort(v, i, right);
    }
}