交换排序-快速排序
来源:互联网 发布:淘宝装修视频代码 编辑:程序博客网 时间:2024/05/01 10:44
快速排序的JAVA实现
//快速排序的递归实现形式public class QuickSort { public byte[] quick(byte[] by) { if(by.length>0){ quickSort(by,0,by.length-1); } return by; } private void quickSort(byte[] by, int low, int high) { if(low<high){ //如果不加这个判断递归会无法退出导致堆栈溢出异常 int middle = getMiddle(by,low,high); quickSort(by, 0, middle-1);//小于基数的排序 quickSort(by, middle+1, high);//大于基数的排序 } } private int getMiddle(byte[] by, int low, int high) { int temp = by[low];//基准元素 while(low<high){ //找到比基准元素小的元素位置 while(low<high && by[high]>=temp){ high--;//从右往左找 } by[low] = by[high];//如果找到,就把找到小于基数的值赋给基数所在的位置? //找到比基准元素大的元素位置 while(low<high && by[low]<=temp){ low++;//从左往右找 } by[high] = by[low];//如果找到,就把大于基数的值赋给 } by[low] = (byte) temp;//low最后的位置,决定了小于low的位置上的数据都小于temp, //大于low的位置上的数据都大于temp,因此下一次递归判断,只需对low左右两边的子数组进行相同思路的判断即可 return low; }}
0 0
- 交换排序--快速排序
- 交换排序:快速排序
- 交换排序-快速排序
- 交换排序-快速排序
- 交换排序------快速排序
- 【交换排序】快速排序
- 交换排序---快速排序
- 交换排序-快速排序
- 交换排序-快速排序
- 交换排序--快速排序
- 交换排序-快速排序
- 交换排序之----快速排序
- 交换排序之快速排序
- 交换排序:快速排序 学习
- 【交换排序】快速排序--Java
- 交换排序—快速排序
- 交换类排序-快速排序
- 交换排序_2.快速排序
- NBOJv2——Problem 1002: 蛤玮的财宝(多线程DP)
- struct,class,template的用法
- 交换排序-冒泡排序
- Deep Learning Trends @ ICLR 2016:深度学习趋势@ICLR2016(译)
- TCP/IP详解第二版(卷1 协议)
- 交换排序-快速排序
- 微信接口API之长链接转短链接代码示例
- 归并排序
- java的堆和栈
- QT中控制窗口大小
- 基数排序
- Binder解析
- C/C++,常对象 - 保护共享数据
- mysql能用localhost连接不能使用127.0.0.1连接的解决办法