快速排序算法
来源:互联网 发布:苹果手机数据怎么开 编辑:程序博客网 时间:2024/06/16 21:41
void qsort(int v[], int left, int right)
{
int j, last;
if (left >= right) /* 若数组包含的元素个数少于两个 */
return; /* 则不执行任何操作 */
swap(v, left, (left + right)/2); /* 将划分子集的元素移动到V[0] */
last=left; /* 用last记录中比关键字小间的最右位置*/
for (j = left+1; j <= right; j++) /* 划分子集 */
{
if (v[j] < v[left])
{
swap(v, ++last, j);
}
}
/*通过上述过程会形成 关键字(中left所在位置) 小小小...(last所在位置)大大大大(最后)*/
swap(v, left, last); /* 恢复划分的元素 */
/*小小。。。。关键字大大大大*/
qsort(v, left, last-1);
qsort(v, last+1, right);
}
/**************************************************************************/
两个for循环,
一个用来控制比较的趟数,一个用来每趟比较的次数
连个指针i,j,
一个指向数组的头,一个指向数组的尾。
采用的是分治法的思想
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法------快速排序
- 排序算法---快速排序
- 排序算法-快速排序
- 排序算法---快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 排序算法:快速排序
- 排序算法 快速排序
- 排序算法--快速排序
- 排序算法--快速排序
- 【排序算法】快速排序
- 排序算法--快速排序
- 排序算法:快速排序
- android 控制震动强度
- 百度地图与谷歌地图 (常识、区别,更倾向于使用百度地图,纠错信息比谷歌多)
- html5基础知识
- jQuery Mobile 图标无法显示
- 学习了几天的jQuery Mobile的一点感受
- 快速排序算法
- sencha touch 框架的几种核心脚本文件之间的区别
- Sencha Touch 的基础知识
- XMLHTTPRequest对象不能跨域获取数据?!
- 最新订票方法(仅供参考)
- 无法获取到新浪微博中指定用户的第一条微博??
- Video标签播放视频?谷歌浏览器?safari?? 谷歌浏览器播放不了mp4格式的视频的原因
- 超实用的JavaScript技巧及最佳实践(下)
- FFMPeg代码分析:avcodec_decode_video2函数