新书推介:《语义网技术体系》
作者:瞿裕忠,胡伟,程龚
   XML论坛     W3CHINA.ORG讨论区     计算机科学论坛     SOAChina论坛     Blog     开放翻译计划     新浪微博  
 
  • 首页
  • 登录
  • 注册
  • 软件下载
  • 资料下载
  • 核心成员
  • 帮助
  •   Add to Google

    >> 本版用于讨论编程和软件设计的技巧
    [返回] 中文XML论坛 - 专业的XML技术讨论区计算机技术与应用『 编程心得 』 → 为什么不能排序??? 查看新帖用户列表

      发表一个新主题  发表一个新投票  回复主题  (订阅本版) 您是本帖的第 8081 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
     * 贴子主题: 为什么不能排序??? 举报  打印  推荐  IE收藏夹 
       本主题类别:     
     chenxiao0594 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:1
      积分:53
      门派:XML.ORG.CN
      注册:2008/3/21

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给chenxiao0594发送一个短消息 把chenxiao0594加入好友 查看chenxiao0594的个人资料 搜索chenxiao0594在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看chenxiao0594的博客楼主
    发贴心情 为什么不能排序???

    #include<iostream.h>
    #include<stdlib.h>
    int swap(long &x,long &y)
    {
     long temp;
     temp=x;
     x=y;
     y=temp;
     return 0;
    }
    int partition(long v[],long left,long right)
    {
     long i=left,j=right+1;
     do{
      do j--;while (v[j]>v[left]);
      do i++;while (v[i]<v[left]);
      if(i<j)  swap(v[i],v[j]);
     }while(i<j);
     if(i<j)  swap(v[left],v[j]);
     return j;
    }
    long qsort(long v[],long left,long right)
    {
     long q;
     if(left<right)
     {
      q=partition(v,left,right);
      qsort(v,left,q-1);
      qsort(v,q+1,right);
     }
     return 0;
    }
    void main()
    {
     const long N=10;
     long a[N];
     for(int i=0;i<N;i++)
      a[i]=rand();
        qsort(a,0,10);
     for(i=0;i<N;i++)
     {
      cout<<a[i]<<"   ";
      
     }

    }


       收藏   分享  
    顶(0)
      




    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/3/21 13:21:00
     
     iaiyanghua1 帅哥哟,离线,有人找我吗?
      
      
      等级:大一(猛啃高等数学)
      文章:15
      积分:132
      门派:XML.ORG.CN
      注册:2008/4/11

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给iaiyanghua1发送一个短消息 把iaiyanghua1加入好友 查看iaiyanghua1的个人资料 搜索iaiyanghua1在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看iaiyanghua1的博客2
    发贴心情 
    qsort(a,i,10);
      随便看了 下 ,应该改这 ,,你 再试了 ,,没时间 仔细看,有时间帮你调试下

    ----------------------------------------------
    不断学习中...

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/11 21:27:00
     
     Lear 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:59
      门派:XML.ORG.CN
      注册:2008/4/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Lear发送一个短消息 把Lear加入好友 查看Lear的个人资料 搜索Lear在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看Lear的博客3
    发贴心情 


    int partition(long v[],long left,long right)
    {
    long i=left,j=right+1;
    do{
      do j--;while (v[j]>v[left]);

      do i++;while (    (i<n-1)     &&(v[i]<v[left]));     /防止超界
      
    if(i<j)  swap(v[i],v[j]);
    }while(i<j);

    if(i<j)    /删去,否则不能执行下面一句。上面执行完以后i>=j

    swap(v[left],v[i]);/是v[i]而不是v[j]

    return j;

    }


    qsort(a,0,9);/是9不是10


    我没有调试,可能还有错

    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/16 21:43:00
     
     Lear 帅哥哟,离线,有人找我吗?
      
      
      等级:大一新生
      文章:2
      积分:59
      门派:XML.ORG.CN
      注册:2008/4/16

    姓名:(无权查看)
    城市:(无权查看)
    院校:(无权查看)
    给Lear发送一个短消息 把Lear加入好友 查看Lear的个人资料 搜索Lear在『 编程心得 』 的所有贴子 引用回复这个贴子 回复这个贴子 查看Lear的博客4
    发贴心情 
    不好意思,调试了一下,(swap(v[left],v[i]);/是v[i]而不是v[j]    )我是错的 不好意思,是v[j]
    点击查看用户来源及管理<br>发贴IP:*.*.*.* 2008/4/16 22:13:00
     
     GoogleAdSense
      
      
      等级:大一新生
      文章:1
      积分:50
      门派:无门无派
      院校:未填写
      注册:2007-01-01
    给Google AdSense发送一个短消息 把Google AdSense加入好友 查看Google AdSense的个人资料 搜索Google AdSense在『 编程心得 』 的所有贴子 访问Google AdSense的主页 引用回复这个贴子 回复这个贴子 查看Google AdSense的博客广告
    2024/5/2 17:14:52

    本主题贴数4,分页: [1]

    管理选项修改tag | 锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告
    W3C Contributing Supporter! W 3 C h i n a ( since 2003 ) 旗 下 站 点
    苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
    78.125ms