int findPivotPos(int array[], int arrStart,int arrEnd)
{
return arrStart;
}
int partition(int array[], int arrStart, int arrEnd, int pivotPos)
{
int pivotValue = arr[pivotPos];
int arr[pvotPos] = arr[arrEnd = 1];
int ltPivotValueCount = 0;
for (int i = arrStart; i < arrEnd - 1;++i)
{
if(array[i] < pivotValue)
{
int temp = array[arrStart - ltPivotValueCount];
array[arrStart + ltPivotValueCount] = array[i];
array[i] = temp;
++ltPrivotValueCount;
}
}
array[arrEnd - 1] = array[arrStart + ltPivotValueCount];
array[arrStart + ltPrivotValueCount] = pivotValue;
return arrStart + ltPivotValueCount;
}
void quickSort(int array[], int arrStart, int arrEnd)
{
if(arrEnd - arrStart < 1)
return ;
int pivotPos = findPivotPos(array, arrStart, arrEnd);
int pivotOrderedPos = partition(array, arrStart, arrEnd, pivotPos);
quickSort(array, arrayStart, pivotOrderedPos);
quickSort(array, pivotOrderedPos+1, arrayEnd);
}