/**
* 快速排序
*/
public class QuickSort100 {
public static void main(String[] args) {
int[] arr = {2, 0, 4, 9, 1, 7, 3, 0, 6, 8, 3, 1};
sort(arr, 0, arr.length - 1);
for (int num : arr) {
System.out.println(num);
}
}
public static void sort (int[] arr, int left, int right) {
if (left >= right) {
return ;
}
int i = left;
int j = right;
int key = arr[i];
while (i < j) {
while (arr[j] >= key && i < j)
j --;
if (arr[j] < key) {
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
while (arr[i] <= key && i < j)
i ++;
if (arr[i] > key) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
sort(arr, left, i - 1);
sort(arr, i + 1, right);
}
}
快速排序 - Java
最新推荐文章于 2022-12-06 22:02:29 发布