| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 525 人关注过本帖
标题:一段快速排序的源码。有地方不懂
取消只看楼主 加入收藏
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:1 
一段快速排序的源码。有地方不懂
从视频里看到一段代码,是快速排序(从视频里抄下来的,不会有错吧)
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
snailqiu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:45
注 册:2007-9-26
收藏
得分:0 
回复 3楼 love云彩
终于懂了。
把那段视频看了6遍,头都看痛了。
快速排序真的比冒泡和选择什么的难啊。

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



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

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