快速排序
package eleven; public class QuickSort { /** * 快速排序 * * @param num * @param left * @param right * @return */ public static void printArray(int num[]) { for (int i = 0; i < num.length; i++) { System.out.print(num[i] + " "); } System.out.println(); } public static int[] quickSort(int[] num, int left, int right) { if (left < right) { int key = num[left]; int i = left; int j = right; while (i < j) { while (i < j && num[j] > key) { j--; } num[i] = num[j]; while (i < j && num[i] <= key) { i++; } num[j] = num[i]; } num[i] = key; printArray(num); quickSort(num, left, i - 1); quickSort(num, i + 1, right); } return num; } public static void main(String[] args) { int[] num = { 72, 6, 57, 88, 69, 56, 43, 67, 23, 87, 23, 12, 76, 88 }; quickSort(num, 0, num.length - 1); } }
算法输出为:
12 6 57 23 69 56 43 67 23 72 87 88 76 88
6 12 57 23 69 56 43 67 23 72 87 88 76 88
6 12 23 23 43 56 57 67 69 72 87 88 76 88
6 12 23 23 43 56 57 67 69 72 87 88 76 88
6 12 23 23 43 56 57 67 69 72 87 88 76 88
6 12 23 23 43 56 57 67 69 72 87 88 76 88
6 12 23 23 43 56 57 67 69 72 76 87 88 88
6 12 23 23 43 56 57 67 69 72 76 87 88 88

浙公网安备 33010602011771号