Search This Blog

Loading...

Quick Sort Algorithm Program in C

// Quick Sort Algorithm Program  using Array.


#include "stdio.h"
#include<conio.h>

int split ( int*, int, int ) ;

void main( )
{
    int arr[10] = { 11, 2, 9, 13, 57, 25, 17, 1, 90, 3 } ;
    int i ;

    void quicksort ( int *, int, int ) ;

    quicksort ( arr, 0, 9 ) ;

    printf ( "\nArray after sorting:\n") ;

    for ( i = 0 ; i <= 9 ; i++ )
        printf ( "%d\t", arr[i] ) ;

}

void quicksort ( int a[ ], int lower, int upper )
{
    int i ;
    if ( upper > lower )
    {
        i = split ( a, lower, upper ) ;
        quicksort ( a, lower, i - 1 ) ;
        quicksort ( a, i + 1, upper ) ;
    }
}

int split ( int a[ ], int lower, int upper )
{
    int i, p, q, t ;

    p = lower + 1 ;
    q = upper ;
    i = a[lower] ;

    while ( q >= p )
    {
        while ( a[p] < i )
            p++ ;

        while ( a[q] > i )
            q-- ;

        if ( q > p )
        {
            t = a[p] ;
            a[p] = a[q] ;
            a[q] = t ;
        }
    }

    getch();   

    t = a[lower] ;
    a[lower] = a[q] ;
    a[q] = t ;

    return q ;
}

No comments:

Post a Comment