阅读量:2
下面是一个用Java写的快速排序算法示例:
public class QuickSort { public void sort(int[] arr, int low, int high) { if (arr == null || arr.length == 0) { return; } if (low >= 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) { sort(arr, low, j); } if (high > i) { sort(arr, i, high); } } public static void main(String[] args) { QuickSort quickSort = new QuickSort(); int[] arr = {5, 2, 7, 3, 6, 1, 4}; quickSort.sort(arr, 0, arr.length - 1); System.out.println("Sorted array:"); for (int num : arr) { System.out.print(num + " "); } } }
在这个示例中,sort
方法使用递归的方式实现了快速排序算法。首先选择数组中间的元素作为pivot,然后将数组分成两部分,一部分比pivot小,一部分比pivot大,然后对这两部分分别进行递归排序。最后在main
方法中展示了如何使用这个快速排序算法。