void swap(int array[], int i, int j)
{
int tmp = array[i];
array[i] = array[j];
array[j] = tmp;
}
int partition(int array[], int lo, int hi)
{
if(hi > lo)
{
int p = array[lo];
int big = lo;
for(int i=lo; i<=hi; i++)
{
if(array[i] <= p)
{
swap(array, i, big);
big++;
}
}
swap(array, lo, big-1);
return big-1;
}
return -1;
}
void quickSort(int array[], int lo, int hi)
{
if(hi > lo)
{
int pivot = partition(array, lo, hi);
quickSort(array, lo, pivot-1);
quickSort(array, pivot+1, hi);
}
}