Definition
Quicksort (sometimes called partition-exchange sort) is an efficient sorting algorithm, serving as a systematic method for placing the elements of an array in order. Quicksort is a comparison sort, meaning that it can sort items of any type for which a "less-than" relation (formally, a total order) is defined. In efficient implementations it is not a stable sort, meaning that the relative order of equal sort items is not preserved. Quicksort can operate in-place on an array, requiring small additional amounts of memory to perform the sorting.Quick Sort Example Program
public class QuickSort {
public static void main(String[] args) {
int[] arry = { 56,44,78,32,95,06,31 };
System.out.println("Array before sorting: ");
for(int i=0;i= high){
return;
}
int middle = low + (high - low) / 2;
int pivot = arr[middle];
int i = low, j = high;
while (i <= j) {
while (arr[i] < pivot) {
i++;
}
while (arr[j] > pivot) {
j--;
}
if (i <= j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
i++;
j--;
}
}
if (low < j){
quickSort(arr, low, j);
}
if (high > i){
quickSort(arr, i, high);
}
}
public static void printArray(int[] arry) {
System.out.println("After Sorting: ");
for (int a : arry)
System.out.println(a + " ");
System.out.println();
}
}
Sample Output
Output is:
Array before sorting:
56
44
78
32
95
06
31
After Sorting:
06
31
32
44
56
78
95