Quick Sort Program in C

Previous
Next
#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);
}
Previous
Next

Add Comment

Courses Enquiry Form