Monday, August 20, 2012

Quick Sort


#include <iostream>

using namespace std;
int partition(int *a,int p,int r)
{
    int x=a[r];
    int temp;
    int i=p-1;
    int j=p;
    for(j=p;j<(r);j++)
    {
        if(a[j]<x)
        {
            i++;
            temp=a[j];
            a[j]=a[i];
            a[i]=temp;
        }


    }
    temp=a[r];
    a[r]=a[i+1];
    a[i+1]=temp;
    int k=0;
    return i+1;
}
void quickSort(int *a,int p,int r)
{


    int q;
    if(p<r)
    {

    q=partition (a,p,r);
    quickSort(a,p,q-1);
    quickSort(a,q+1,r);

    }

}
int main()
{
    int a[10];
    int i=0;
    while(i<10)
    cin>>a[i++];
    quickSort(a,0,9);
    i=0;
    while(i<10)
    cout<<a[i++]<<" ";



    return 0;
}