| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:一段快速排序的源码。有地方不懂
只看楼主 加入收藏
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
一段快速排序的源码。有地方不懂
从视频里看到一段代码,是快速排序(从视频里抄下来的,不会有错吧)
void quicksort(int k[],int s,int t)//觉得这里干嘛要用s和t ,应该用left和right更直观
{
    int i,j;
    if(s<t)
    {
        i=s;
        j=t+1;//为什么是把t+1赋给j,不是应该把t赋给j吗?
        while(1)
    {
          do i++;
           while(k[i]<k[s] && i!=t);
           do j--;
           while(k[j]>k[s] && j!=s);
           if(i<j)
              swap(k[i],k[j]);
            else
               break;   
    }
           
    }
        swap(k[s],k[j]);
        quicksort(k,s,j-1);
        quicksort(k,j+1,t);
}
快速排序不是应该定义一个基准数吗?这段代码里的基准数在哪里?
2013-07-22 17:22
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:5 
维基百科里面对排序进行了  图 文 解,比较易懂,你看看

http://zh.

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-07-22 18:40
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:5 
你不懂快速排序的原理,自然不懂代码的过程,先去看看各种排序的大总结,不懂原理机制,叫人怎么解释代码给你听

思考赐予新生,时间在于定义
2013-07-22 20:18
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
回复 3楼 love云彩
终于懂了。
把那段视频看了6遍,头都看痛了。
快速排序真的比冒泡和选择什么的难啊。

2013-07-22 20:52
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
快速排序法还好吧。不过还有其他的排序法比快速排序法要好的

思考赐予新生,时间在于定义
2013-07-22 20:56
thematrix123
Rank: 2
等 级:论坛游民
帖 子:8
专家分:52
注 册:2013-7-10
收藏
得分:5 
回复 5楼 love云彩
没觉得,快排速度很稳定,适用性也很高,并且达到了基于数值比较的排序方法中理论上时间复杂度的最小值,在排序数组最大值为M时,计数排序和基数排序有可能比快排快,但并不能说明比快排好,适用面太小
2013-07-22 21:13
岁月如刀
Rank: 6Rank: 6
来 自:冰冻星球
等 级:侠之大者
威 望:7
帖 子:165
专家分:477
注 册:2013-7-21
收藏
得分:5 
应该在纸上画画的~嘿嘿~

Now. Game over.
2013-07-22 22:12
快速回复:一段快速排序的源码。有地方不懂
数据加载中...
 
   



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

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