关闭页面特效

有关快速排序-java实现

1 /** 2 * 快速排序的简介写法(完美) 3 * @param num 目标排序数组 4 * @param leftIndex 每次处理的左端索引 5 * @param rightIndex 每次处理的右端索引 6 */ 7 public static void quickSort2(int[] num,int leftIndex,int rightIndex){ 8 if (leftIndex>rightIndex) 9 return; 10 int leftI=leftIndex; 11 int rightI=rightIndex; 12 //基准数,依次将数组中的数分为两部分 13 int midNum=num[leftIndex]; 14 int temp=0; 15 //递归出口 16 while (leftI<rightI){ 17 //寻找左端第一个大于基准数的索引 18 while (num[rightI]>=midNum&&leftI<rightI){ 19 rightI--; 20 } 21 //寻找右端第一个大于基准数的索引,注意最后的两索引只会相等 22 while (num[leftI]<=midNum&&leftI<rightI){ 23 leftI++; 24 } 25 //交换左右端数 26 if (leftI<rightI){ 27 temp=num[leftI]; 28 num[leftI]=num[rightI]; 29 num[rightI]=temp; 30 } 31 } 32 //基准数交换。应当与左端最大的数交换 33 num[leftIndex]=num[leftI]; 34 num[leftI]=midNum; 35 //递归处理左右的数组 36 quickSort2(num,leftIndex,rightI-1); 37 quickSort2(num,leftI+1,rightIndex); 38 }

 


__EOF__

作  者Mexcellent
出  处https://www.cnblogs.com/Mexcellent/p/17269738.html
关于博主:编程路上的小学生,热爱技术,喜欢专研。评论和私信会在第一时间回复。或者直接私信我。
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!

posted @   Mexcellent  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
0
0
关注
跳至底部
点击右上角即可分享
微信分享提示