17/09/18 22:04:21.38 9J0YS+py.net
public class QuickSort {
//static int[] list = new int[]{10, 7, 2, 8, 5, 1, 6, 4, 3, 9};
static int[] list = new int[]{10, 6, 2, 8, 5, 1, 0, 4, 3, 0};
public static void main(String[] args) {
for (int i = 0; i < list.length; i++) {System.out.print(list[i] + ", ");}
System.out.println("");
quickSort(list, 0, list.length - 1);
for (int i = 0; i < list.length; i++) { System.out.print(list[i] + ", ");}}
static void quickSort(int[] list, int start, int end) {
int pivlot = list[(start + end) / 2]; int i = start; int j = end;
while (true) {
while (list[i] <= pivlot && i < list.length) { i++; }
while (list[j] >= pivlot && j > 0) { j--; }
if (i >= j) { break; }
int tmp = list[j]; list[j] = list[i]; list[i] = tmp; }
// sort left hand side
if (start < i - 1) { quickSort(list, start, i - 1); }
// sort right hanhd side
if (j + 1 < end) { quickSort(list, j + 1, end); } } }