Cod sursa(job #1558596)

Utilizator Alexandru1122Radu Alexandru Sorin Alexandru1122 Data 29 decembrie 2015 13:35:19
Problema Sortare Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 kb
#include<stdlib.h>
#include<time.h>
#include<iostream>
using namespace std;

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;
    cout<<"Citeste numarul de elemente din vector: ";
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>v[i];
   quicksort(v,1,n);
    cout<<endl<<"Vectorul arata acum astfel: ";
    for(i=1;i<=n;i++)
        cout<<v[i]<<" ";
}