快速排序实现
对于序列 8 1 4 9 0 3 5 2 7 6的第一趟排序过程为i , j
8 1 4 9 0 3 5 2 7 6
6 1 4 9 0 3 5 2 7 x
6 1 4 x 0 3 5 2 7 9
6 1 4 7 0 3 5 2 x 9
6 1 4 7 0 3 5 2 8 9
package jd; /** * 快速排序 * * @author li * */ public class QuickSort { public int sort(int[] num, int start, int end) { int tmp = num[start]; while (start < end) { while (start < end && num[end] >= tmp) { end--; } if (start < end) { num[start] = num[end]; start++; } while (start < end && num[start] < tmp) { start++; } if (start < end) { num[end] = num[start]; end--; } } num[end] = tmp; return end; } public void quickSort(int[] num, int start, int end) { if (start < end) { int index = sort(num, start, end); quickSort(num, start, index - 1); quickSort(num, index + 1, end); } } public static void main(String[] args) { int[] num = { 8, 1, 4, 9, 0, 3, 5, 2, 7, 6 }; QuickSort quickSort = new QuickSort(); quickSort.quickSort(num, 0, num.length - 1); for (int i = 0; i < num.length; i++) { System.out.println(num[i]); } } }

浙公网安备 33010602011771号