Professional Documents
Culture Documents
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n,i,a[50];
printf("Dati nr de elemente: ");
scanf("%d",&n);
printf("Dati elementele \n");
for(i=1;i<=n;i++){
printf("a[%d]= ", i);
scanf("%d",&a[i]);
}
quicksort(a,1,n);
printf("Elementele sortate: \n");
for(i=1;i<=n;i++)
printf("%d \n",a[i]);
return 0;
}
void quicksort(int a[], int inf,int sup)
{
int q;
if(inf<sup ){
q=partitie(a,inf,sup);
quicksort(a,inf,q);
quicksort(a,q+1,sup);
}
}
int partitie(int a[],int inf,int sup)
{
int x,i,j;
x=a[inf];
i=inf-1;
j=sup+1;
while(1){
do{
j=j-1;
}
while(a[j]>x);
do{
i=i+1;
}
while(a[i]<x);
if(i<j)
interschimba(a,i,j);
else
return j;
}
}