Pagini recente » Cod sursa (job #124707) | Cod sursa (job #1179758) | Cod sursa (job #2549415) | Cod sursa (job #1274174) | Cod sursa (job #1558596)
#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]<<" ";
}