博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速排序(二)最后修改
阅读量:6501 次
发布时间:2019-06-24

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

1 //2012-07-16 2 void quickSort(element list[], int left, int right)//快速排序 3 { 4     int i=left; 5     int j=right; 6  7     if(i >= j) //判断需要i
temp)//需要i
=j)39 return;40 41 element pivot=list[i];42 element temp;43 j++;//以下i++,j--了一次,i是需要首先+1,但j不需要,所以此处需要提前+1,抵消44 45 do{46 do{47 i++;48 }while( list[i]
pivot);//不需要i
pivot,a[j]
pivot所以交换left和j,62 //特殊情况结束时left......right,i=j=right+1//1,2,3,4,5,6,763 //即结束时,i后的都大于pivot,j前的都小于pivot,其中[j]
pivot 64 list[left]=list[j];65 list[j]=pivot;66 67 quickSort(list,left,j-1);68 quickSort(list,j+1,right);69 70 }

下面的是对quickSort方法的修改:

删除了quickSort的18、24行,以及27、29、30进行对应修改。修改之后使得如下代码运行到23行时,i=j,这样思维更清晰。

1 void quickSort3(element list[], int left, int right)//快速排序,修改时间2012-09-18 16:40:40 2 { 3     int i=left; 4     int j=right; 5  6     if(i >= j) //判断需要i
temp)//需要i

转载于:https://www.cnblogs.com/zjhnl/archive/2012/07/16/2593116.html

你可能感兴趣的文章
concurrent包的实现示意图
查看>>
golang os.Args
查看>>
Linux常用命令
查看>>
spring-data-elasticsearch 概述及入门(二)
查看>>
Solr启动和结束命令
查看>>
1.12 xshell密钥认证
查看>>
3.2 用户组管理
查看>>
ibatis 动态查询
查看>>
汇编语言之实验一
查看>>
git 调用 Beyond Compare
查看>>
SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)[转]
查看>>
android实现图片识别的几种方法
查看>>
mvc学习地址
查看>>
masonry 基本用法
查看>>
Word产品需求文档,已经过时了【转】
查看>>
dtoj#4299. 图(graph)
查看>>
关于网站的一些js和css常见问题的记录
查看>>
zabbix-3.4 触发器
查看>>
换用代理IP的Webbrowser方法
查看>>
【视频编解码·学习笔记】7. 熵编码算法:基础知识 & 哈夫曼编码
查看>>