Search This Blog

Wednesday 13 January 2016

Quick Sort

/* Quick Sort */

    #include<stdio.h>
    #include<conio.h>
    void quicksort(int [],int,int);
    void main()
    {

    int a[10],n,i;
    printf("\nEnter size of array");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
         printf("\nEnter a[%d]",i);
         scanf("%d",&a[i]);
    }
    quicksort(a,0,n-1);
    printf("\nSorted array is:\n");
    for(i=0;i<n;i++)
    {
         printf("%d ",a[i]);
    }

    }
    void quicksort(int x[10],int first,int last)
    {

    int pivot,i,j,temp;
    if(first<last)
    {
         pivot=first;
         i=first;
         j=last;

    while(i<j)
    {
         while(x[i]<=x[pivot] && i<last)
         i++;

         while(x[j]>x[pivot])
         j--;

         if(i<j)
         {
              temp=x[i];
              x[i]=x[j];
              x[j]=temp;
         }
    }
    temp=x[pivot];
    x[pivot]=x[j];
    x[j]=temp;
    quicksort(x,first,j-1);
    quicksort(x,j+1,last);
    }

    }

No comments:

Post a Comment