Java快速排序法

精贴 置顶
1346 0

  快速排序是对冒泡排序的一种本质改进。它的基本思想是通过一趟扫描后,使得排序序列的长度能大幅度地减少。在冒泡排序中,一次扫描只能确保最大数值的数移到正确位置,而待排序序列的长度可能只减少1。快速排序通过一趟扫描,就能确保某个数(以它为基准点吧) 的左边各数都比它小,右边各数都比它大。然后又用同样的方法处理它左右两边的数,直到基准点的左右只有一个元素为止。

  java


  1 void quickSort(int[] arr, int left, int right){
  2 int p = partition(arr, left, right);
  3 quickSort(arr, left, p-1);
  4 quickSort(arr, p+1, right);
  5 }
  6 //1:
  7 int partition(int[] arr, int left, int right){
  8 int p = left/2 + right/2;
  9 while(left < right){
  10 while(left < p && arr[left] <= arr[p]){
  11 left++;
  12 }
  13 while(right > p && arr[right] >= arr[p]){
  14 right--;
  15 }
  16 swap(arr[left], arr[right]);
  17 }
  18 return p;
  19 }
  20
  21 /*2: compare首先从high位置向前搜索找到第一个小于compare值的索引,并置换(这时high索引位置上的值为compare值);然后从 low位置往后搜索找到第一个大于compare值的索引,并与high索引上的值置换(这时low索引位置上的值为compare值);重复这两步直到 low=high为止。*/
  22 int partition(int[] arr, int left, int right){
  23 compare = a[left];
  24 while(left < right){
  25 while(left=compare){
  26 right--;
  27 }
  28 swap(arr[left], arr[right]);
  29
  30 while(left 
  31 left++;
  32 }
  33 swap(arr[left], arr[right]);
  34 }
  35 return left;
  36 }

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
C#笔试题 2010-09-03
mysql分页limit 优化 2013-08-19
mysql启动问题access denied for... 2013-07-20
ASP.NET Web.config配置详解 2010-12-10
如何避免因主机问题给网站优化带... 2013-06-23
存储位置优化——把视图状态信息... 2013-11-15
浅析ASP内置组件 2010-10-26
ASP+Access的安全隐患及对策 2010-10-20
JS弹出层代码 2010-09-13
windows xp 任务栏不显示任务 的... 2013-10-12
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都