Search This Blog

Wednesday, April 2, 2014

Quick Sort


                                        Quick Sort



#include<stdio.h>
#include<conio.h>
void qsort(int arr[20], int left, int right);
int main()
{
 int arr[30];
 int i,n;
 printf("Enter total no. of the elements : ");
 scanf("%d",&n);
 printf("Enter total %d elements : \n",size);
 for(i=0; i<n; i++)
    scanf("%d",&arr[i]);
 qsort(arr,0,n-1);
 printf("Quick sorted elements are as  : \n");
 for(i=0; i<n; i++)
    printf("%d\t",arr[i]);
 getch();
 return 0;
}
void qsort(int arr[20], int left, int right)
{
 int i,j,pivot,tmp;
 if(left<right)
 {
   pivot=left;
   i=left+1;
   j=right;
   while(i<j)
   {
     while(arr[i]<=arr[pivot] && i<right)
        i++;
     while(arr[j]>arr[pivot])
        j--;
     if(i<j)
     {
        tmp=arr[i];
        arr[i]=arr[j];
        arr[j]=tmp;
     }
   }
   tmp=arr[pivot];
   arr[pivot]=arr[j];
   arr[j]=tmp;
   qsort(arr,left,j-1);
   qsort(arr,j+1,right);
 }
}

No comments:

Post a Comment