/*
* =====================================================================================
*
* Filename: quickSort.cpp
*
* Description: quick Sort method
*
* Version: 1.0
* Created: 11/25/2010 08:52:33 PM
* Revision: none
* Compiler: gcc
*
* Author: Archy Yu
* Company:
*
* =====================================================================================
*/
#include<stdio.h>
void swap(int &i,int &j)
{
int k = i;
i = j;
j = k;
}
int Partition(int a[3],int left,int right)
{
int i = left;
int j = right + 1;
int tem = a[i];
while(true)
{
while(a[++i] < tem);
while(a[--j] > tem);
if(i >= j)
break;
swap(a[i],a[j]);
}
a[left] = a[j];
a[j] = tem;
return j;
}
void QuickSort(int a[3],int left,int right)
{
if(left < right)
{
int part = Partition(a,left,right);
QuickSort(a,left,part-1);
QuickSort(a,part+1,right);
}
}
int main()
{
int b[3] = {9,7,8};
QuickSort(b,0,3);
for(int i=0;i<=2;i++)
{
printf("%d ",b[i]);
}
return 0;
}