#include<stdio.h>
#include<conio.h>
void quick_sort(int[] , int, int);
int main()
{
int arr[50] , n , i ;
clrscr();
printf("Enter number of elements : ");
scanf("%d", &n);
for( i=0 ; i<n ; i++ )
{
arr[i] = rand()%32767 ;
}
printf("Array elements before sort : \n");
for( i=0 ; i<n ; i++ )
{
printf("%d\t",arr[i]);
}
printf("\n\n");
quick_sort(arr, 0, n-1) ;
printf("Array elements after sort : \n");
for( i=0 ; i<n ; i++ )
{
printf("%d\t", arr[i]);
}
printf("\n\n");
return 0;
}
void quick_sort(int data[], int left, int right)
{
int mid, tmp, i, j ;
i = left;
j = right;
mid = data[(left+right)/2];
do
{
while(data[i]<mid)
i++;
while(mid<data[j])
j--;
if (i <= j)
{
tmp = data[i];
data[i] = data[j];
data[j] = tmp;
i++;
j--;
}
}while(i<=j);
if (left < j)
quick_sort(data, left, j);
if (i < right)
quick_sort(data, i, right);
}
No Comments