java快速排序代码实现
来源:互联网 发布:美国奥克兰 知乎 编辑:程序博客网 时间:2024/05/21 16:59
快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。
步骤为:
- 从数列中挑出一个元素,称为”基准”(pivot),
- 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区结束之后,该基准就处于数列的中间位置。这个称为分区(partition)操作。
- 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。
递归的最底部情形,是数列的大小是零或一,也就是永远都已经被排序好了。虽然一直递归下去,但是这个算法总会结束,因为在每次的迭代(iteration)中,它至少会把一个元素摆到它最后的位置去。
public class quick_sort{ public static void QuickSort(int[] arr,int start,int end){ int mid=arr[start]; int low=start; int high=end; if(low>=high) return; while(low<high){ while(arr[high]>=mid&&low<high){ high--; } arr[low]=arr[high]; while(arr[low]<=mid&&low<high){ low++; } arr[high]=arr[low]; } arr[low]=mid; QuickSort(arr,start,low-1); QuickSort(arr,low+1,end); } public static void main(String[] args){ int a[]={38,65,97,76,13,27,49}; QuickSort(a,0,6); for(int n:a) System.out.print(n+","); }}
阅读全文
0 0
- 快速排序--Java实现代码
- Java 快速排序 代码实现
- java代码实现快速排序
- java快速排序代码实现
- 用java实现快速排序代码
- 用JAVA代码实现快速排序
- 快速排序算法java代码实现
- 快速排序及其java实现代码
- 快速排序,归并排序,堆排序的java代码实现
- 快速排序 代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序代码实现
- 快速排序实现代码
- 快速排序代码实现
- JAVA排序算法实现代码-快速(Quick Sort)排序
- 快速排序Java代码
- 快速排序Java代码
- 写了 15 年代码,总结出提升 10 倍效率的三件事
- cin输入错误处理
- Android进阶之路
- 将10进制整数转为64进制形式的PHP实现
- Qt--模块划分
- java快速排序代码实现
- 每日一练21
- HashMap之HashSet和TreeSet
- 听说AI不光能做双十一海报,还有了集体智慧 | TED演讲
- RNN学习第二讲-通过Python,numpy 和 theano实现一个RNN网络
- 深度学习界明星:生成对抗网络与Improving GAN
- SpringMVC+Spring+mybatis+Redis项目从零开始--分模块项目结构搭建
- 【mysql 计算星座】根据身份证计算用户所属星座
- bootstrap之collapse