int partition(int arr[], int low, int high);
void quickSort(int arr[], int low, int high)
{
int pivotKey = partition(arr, low, high);
quickSort(arr, low, pivotKey - 1);
quickSort(arr, pivotKey + 1, high);
}
int partition(int arr[], int low, int high)
{
arr[0] = arr[low];
while (low < high)
{
while (low < high && arr[high] > arr[0]) high--;
arr[low] = arr[high];
while (low < high && arr[low] < arr[0]) low++;
arr[high] = arr[low];
}
return low;
}