博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法6-排序-快速排序
阅读量:7119 次
发布时间:2019-06-28

本文共 1390 字,大约阅读时间需要 4 分钟。

(1) 基本思想:选择一个基准元素,通常选择第一个元素或者最后一个元素,通过一趟扫描,将待排序列分成两部分,一部分比基准元素小,一部分大于等于基准元素,此时基准元素在其排好序后的正确位置,然后再用同样的方法递归地排序划分的两部分。

(2)实例:

(3) java实现

public class quickSort {      inta[]={49,38,65,97,76,13,27,49,78,34,12,64,5,4,62,99,98,54,56,17,18,23,34,15,35,25,53,51};    public quickSort(){        quick(a);        for(int i=0;i
= tmp) { high--; } list[low] = list[high]; //比中轴小的记录移到低端 while (low < high && list[low] <= tmp) { low++; } list[high] = list[low]; //比中轴大的记录移到高端 } list[low] = tmp; //中轴记录到尾 return low; //返回中轴的位置 } public void _quickSort(int[] list, int low, int high) { if (low < high) { int middle = getMiddle(list, low, high); //将list数组进行一分为二 _quickSort(list, low, middle - 1); //对低字表进行递归排序 _quickSort(list, middle + 1, high); //对高字表进行递归排序 } } public void quick(int[] a2) { if (a2.length > 0) { //查看数组是否为空 _quickSort(a2, 0, a2.length - 1); } } }

  

转载于:https://www.cnblogs.com/yk123/p/8336801.html

你可能感兴趣的文章
油价下降,全国人民都高兴
查看>>
mac10.14.1回收windows系统盘
查看>>
js 获取子节点个数
查看>>
jquery的颜色选择插件实例代码
查看>>
android ListView详解
查看>>
顶级MySQL主从复制企业应用
查看>>
OVS-vsctl的帮助文件的中文版
查看>>
我的友情链接
查看>>
《神探tcpdump第五招》-linux命令五分钟系列之三十九
查看>>
《回答sort一例》-linux命令五分钟系列之二十八
查看>>
稳坐视频云行业第一,阿里云将用边缘计算开辟新赛道
查看>>
转载杂项集
查看>>
oracle libary cache 命中率
查看>>
每天一个linux命令(23):Linux 目录结构
查看>>
数据库Sharding的基本思想和切分策略
查看>>
我的友情链接
查看>>
【极客学院出品】Cocos2d-X系列课程之六-用户交互事件处理方法
查看>>
JSP include directive 和JSP include的区别
查看>>
【2】puppet笔记 - package、service、user资源
查看>>
Cinder - 云硬盘加密
查看>>