| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 609 人关注过本帖
标题:`~谁能给我讲讲这个快速排序算法```
只看楼主 加入收藏
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
结帖率:66.67%
收藏
 问题点数:0 回复次数:5 
`~谁能给我讲讲这个快速排序算法```

``算法是这样的`:

这是`C.A.R.Hoare于1962年发明的```对一个给定的数组,从中选择一个元素,以该元素为界```将其他元素划分为两个子

集,一个子集中所有元素都小于该元素,另一个子集中的元素都大于或等于该元素.对这2个子集递折行这一过程,当某个子

集中的``的元素小于2时`,这个子集就不需要再次排序```终止递归``.


void qsort ( int v[], int left, int right )

{

int i, last ;

void swap ( int v[], int i,int j ) ;

if ( left>= right ) /* 若数组包含的元素少于2个 */
return ;

swap ( v, left, (left + right) / 2 ) ; /* 将划分子集的元素 */

last = left ; /* 移动V[0] */

for ( i = left+1; i <= right; i++ ) /* 划分子集 */
if (v[i] < v[align=left] )
swap (v, ++last, i);

swap ( v, left, last); /* 恢复划分子集的元素 */

qsort ( v, left, last-1 );

qsort ( v, last+1, right );
}



/* swap 函数: 交换v[i]和[j]值 */

void swap ( int v[], int i, int j )
{
int temp

temp = v[i] ;
v[i] = v[j] ;
v[j] = temp ;
}

我除了能看懂 SWAP 函数以外 ``其他什么都不懂``

后面跟的注释``更是不知道说的是什么意思``

leaft, right, last, 代表的是什么啊```

好晕啊```

给我讲讲```好不好``谢谢````






搜索更多相关主题的帖子: 算法 
2007-06-19 14:51
风之舞鹤
Rank: 1
等 级:新手上路
帖 子:180
专家分:0
注 册:2007-6-2
收藏
得分:0 

大概看了下 虽然没怎么看懂,但估计 left right last 都是指针.left指向集合的第一个元素 right指向最后一个元素 last指向选定的关键字也就是比它大的排到右边小的排左边.看看快速排序就很清楚了


2007-06-19 23:44
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
收藏
得分:0 
我``已经想明白了````

谢谢``



女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2007-06-21 14:32
zhao9302
Rank: 1
等 级:新手上路
帖 子:170
专家分:0
注 册:2007-5-10
收藏
得分:0 

没太懂啊~~ 说说看咯


我要一步一步往上爬……
2007-06-21 14:41
incoolwen
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2007-6-21
收藏
得分:0 
这个程序采用了递归法```
从这两个可以看出 qsort ( v, left, last-1 ); qsort ( v, last+1, right );

2007-06-21 17:14
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
到数据结构版看,那有这个帖.

倚天照海花无数,流水高山心自知。
2007-06-21 22:23
快速回复:`~谁能给我讲讲这个快速排序算法```
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015546 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved