Cod sursa(job #1553465)

Utilizator rptomaToma Radu-Petrescu rptoma Data 19 decembrie 2015 22:00:58
Problema Sortare Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include<stdlib.h>
#include<time.h>
#include<fstream>
using namespace std;

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

void quicksort(int a[], int l, int r)
{   int pivot;
    int iL=l, iR=r;
    srand(time(NULL));
    int e=l + rand() % (r-l+1);
    pivot=a[e];
   // a[e]=a[e]+a[(l+r)/2]-(a[(l+r)/2]=a[e]);
    while (iL<=iR)
    {
        while (a[iL]<pivot)
            iL++;
        while (a[iR]>pivot)
            iR--;
        if (iL<=iR)
            {a[iL]=a[iL]+a[iR]-(a[iR]=a[iL]);
            iL++;
            iR--;}
    }
    if (iL<r)
        quicksort(a,iL,r);
    if (iR>l)
        quicksort(a,l,iR);
}

main()
{
    int v[1000],n,i;
    f>>n;
    for(i=1;i<=n;i++)
        f>>v[i];
   quicksort(v,1,n);
    for(i=1;i<=n;i++)
        g<<v[i]<<" ";
}