欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

快速排序--取最左和中间

时间:2023-06-10
1.快速排序–取最左为基准

import java.util.Arrays;public class QuickSort { public static void quickSort(int[] ints,int left,int right){ int partition; if (left=pivot){ right--; } //执行到这里说明小于基准值,需要换位,同时right空出来了 ints[left] = ints[right]; //交替left移动 如果最左边小于基准值说明不需要换位 while (left

2.快速排序–取最右为基准

//快速排序 取中间为基准public static void quickSortCenter(int[] ints,int left,int right){ if (leftpivot); //这里找到中间基准值的位置 if (i>=j){ break; } swap(ints,i,j); } quickSortCenter(ints,left,i-1); quickSortCenter(ints,j+1,right); }}public static void swap(int[] ints,int i,int j){ int temp; temp = ints[j]; ints[j] = ints[i]; ints[i] = temp;}public static void main(String[] args) { int[] ints = new int[]{2,3,5,4,1,8,7}; System.out.println("取中间为基准"); quickSortCenter(ints,0,ints.length-1); System.out.println(Arrays.toString(ints));}

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。