我特喵人傻了……
public static void main(String[] args) {int[] arr = {6,8,7,5,3,4,1,9,2};quiteSort(arr,0,arr.length-1);for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + " ");}}private static void quiteSort(int[] arr, int left, int right) {// 递归结束的条件if(right < left){return;}int left0 = left;int right0 = right;//计算出基准数int baseNumber = arr[left0];while(left != right){
// 1,从右开始找比基准数小的while(arr[right] >= baseNumber && right > left){right--;}
// 2,从左开始找比基准数大的while(arr[left] <= baseNumber && right > left){left++;}
// 3,交换两个值的位置int temp = arr[left];arr[left] = arr[right];arr[right] = temp;}//基准数归位int temp = arr[left];arr[left] = arr[left0];arr[left0] = temp;// 递归调用自己,将左半部分排好序quiteSort(arr,left0,left-1);// 递归调用自己,将右半部分排好序quiteSort(arr,left +1,right0);}
挂在这里,等待有缘人的启发…………………………
本文发布于:2024-02-04 18:27:59,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170713657058315.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |