Int myList[] = {56,64,32,99,11,12,36,73,8,80};

Quciksort(myList, 0, 9);

 

Public void quicksort(int list[], int low, int high){

// if there is only one item to look at then just return

If (high – low <=1) return;

 

Int pivot = list[low];

Int a = low + 1;

Int leftPartition[];

Int rightPartition[];

Int leftPointer = 0;

Int rightPointer = 0;

 

For (a=low + 1, a < high, a++){

If (list[a] < pivot){

leftPartition[leftPointer] = list[a];

leftPointer = leftPointer + 1;

} else {

rightPartition[rightPointer] = list[a];

rightPointer = rightPointer + 1;

}

}

// now recombine the arrays

leftPointer = 0;

 

For (a=0, a < leftPartition.length; a++){
list[leftPointer] = leftPartition[a];

leftPointer = leftPointer + 1;

}

List[leftPointer] = pivot;

leftPointer = leftPointer + 1;

 

For (a=0, a < rightPartition.length; a++){
list[leftPointer] = rightPartition[a];

leftPointer = leftPointer + 1;

}

// finally perform recursion over the list

 

Quicksort(list, low, low + leftPartition.length);

QuickSort(list, low + leftPartition.length +1, high);

}