1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
public class quiksort { public static void main(String args[]){ quiksort qs = new quiksort(); int[] list = new int[]{1}; qs.quicksort(list, 0, list.length - 1 ); for (int i = 0; i < list.length; i++){ System.out.print(list[i] + " "); } } private void quicksort(int[] list, int i, int j){ if (i < j){ int cu = partion(list, i, j); quicksort(list, i, cu -1 ); quicksort(list, cu +1, j); } }
private int partion(int[] list, int i, int j){ int x = list[j]; int cu = i - 1; for (int tmp = i; tmp < j; tmp ++){ if (list[tmp] < x){ cu++; swap(list, cu, tmp); } } cu++; swap(list, cu, j); return cu; }
private void swap(int[] list, int i, int j){ int tmp = list[i]; list[i] = list[j]; list[j] = tmp; } }
|
近期评论