快速排序的理解
2015-12-24 17:29
393 查看
//快速排序实现方法一 voidquick_sort(ints[],intl,intr)//先去第一个元素作为基准,从后面比较 { inti=l,j=r,base=s[i];//挖坑 while(i<j&&s[j]>base) { j--; } if(i<j) { s[i++]=s[j];//填数 } while(i<j&&s[i]<base) { i++; } if(i<j) { s[j++]=s[i]; } s[i]=base; quick_sort(s,l,i-1); quick_sort(s,i+1,r); } //实现方法二
intpatition(intgArr[],intbegin,intend){ intindex,small; small=begin-1; for(index=begin;index<end;index++){//最后一个作为基准,从头开始比较 if(gArr[index]<gArr[end]){ small++; if(small!=index) swap(index,small); } } small++; swap(small,end); returnsmall; } voidswap(intgArr[],inti,intj){ inttmp=gArr[j]; gArr[j]=gArr[i]; gArr[i]=tmp; }
理解选择标准在头还是尾!
相关文章推荐
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- zookeeper入门讲解实例
- LNMP.org一键安装包
- python的HTMLParser
- 销毁其他进程的弹窗
- 软件工程学期总结
- Qt学习(12)
- ASP.NET RepeatLayout 属性
- 【转】IO流程
- centos下安装架设thinkphp3.2.3(windows去访问局域网中的centos中的站点)
- Linux---vim编辑器
- windbg 脚本命令实例
- Servlet实现基本文件上传
- linux压缩包相关
- Mybatis 批量插入带oracle序列 例子
- Eclipse上安装GIT插件EGit及使用
- 利用SQLCLR创建表值函数读取img标签下的图片路径