快速排序
来源:互联网 发布:sql怎么删除联合主键 编辑:程序博客网 时间:2024/06/04 00:32
基本思想:基于分治法,获得一个数组的中间位置,位置一边全部大于中间值,另一边全部小于中间值,然后再对左边以及右边排序,直到两个连续的位置为止
与归并的区别在于快排需要先通过确认中间位置,而归并只要全部平分,快排是是自上而下排序,归并是自下而上排序
package com.mercurylake.test;public class TQuick {public static void main(String args[]){int[] arr={6,2,4,8,9,6,7,5,10};sort(arr, 0, arr.length-1);for(int i=0;i<arr.length;i++){System.out.print(arr[i]);}}public static void sort(int[] a,int begin,int end){if(begin<end){int middle=confirmMiddle(a,begin,end);sort(a,begin,middle);sort(a,middle+1,end);}}public static int confirmMiddle(int[] a,int begin,int end){int temp=a[begin];while(begin<end){while(begin<end&&a[end]>=temp)end--;a[begin]=a[end];while(begin<end&&a[begin]<=temp)begin++;a[end]=a[begin];}a[begin]=temp;return begin;}}
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 按年查询
- CursorLoader的使用
- Android:onNewIntent()的使用及注意事项
- Ubuntu 16.04 nfs mount to freebsd 10
- validationEngine校验发送了两次请求
- 快速排序
- 配置web Server
- 启动tomcat时Closing Spring root WebApplicationContext
- 洗牌算法— 网易 注:不要在行末输出多余的空格
- JAVA序列化
- 一个菜鸟学习C语言的开始
- 云客Drupal8源码分析之服务容器及Symfony依赖注入组件
- RelativeLayout布局
- matlab图像预处理