-
选取第一个数为基准
-
将比基准小的数交换到前面,比基准大的数交换到后面
-
对左右区间重复第二步,直到各区间只有一个数
-
import java.util.Arrays; public class QuickSort { public static void main(String[] args) { int[] arr = new int[] {67,1,24,47,9,35,4,53,10,8}; quickSort(arr,0,arr.length -1); System.out.println(Arrays.toString(arr)); } public static void quickSort(int arr[],int left,int right) { if (left >= right) { return ; } int base = arr[left]; int i = left; int j = right; while (i != j) { while (arr[j] >= base && i < j) { j--; } while (arr[i] <= base && i < j) { i++; } int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } arr[left] = arr[i]; arr[i] = base; quickSort(arr, left, i - 1); quickSort(arr, i + 1, right); } }
八大排序之快速排序(Java)
最新推荐文章于 2024-08-31 10:44:02 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)