| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 761 人关注过本帖
标题:请问,谁能帮忙把这个升序排序程序改成降序排序程序啊?
只看楼主 加入收藏
xiaocat3
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-3-3
结帖率:0
收藏
已结贴  问题点数:20 回复次数:5 
请问,谁能帮忙把这个升序排序程序改成降序排序程序啊?
升序程序:
rest (int a[],int n)
{
    int i,low,high,t;
    for(i=0,low=0,high=n-1;i<=high;)
    {
        if(a[i]>0)
        {
            /*a[i]与a[high]交换,随之high减1*/
            t=a[i];
             a[i]=a[high];
             a[high]=t;
             high--;
         }
      else if (a[i]==0)
           i++;/*略过读元素*/
      else
      {
         /*a[i]与a[low]交换,随之low 增 1,i增  1*/
         t=a[i];
         a[i]=a[low];
         a[low]=t;
         low++;
         i++;
       }
}
}
int s[]={8,4,0,-1,6,0,-5};
main()
/*主函数用于测试rest函数 */
{
  int i;
  clrscr();  /*   */
  printf("\n The arry before rest is:\n");
  for (i=0;i<sizeof(s)/sizeof(s[0]);i++)
      printf("%4d",s[i]);
  rest (s,sizeof(s)/sizeof(s[0]));
  printf("\n The arry after test is:\n");
  for (i=0;i<sizeof(s)/sizeof(s[0]);i++)
      printf("%4d",s[i]);
  printf("\n Press any key to quit...\n");
  getch();
}


谁能帮帮忙把这个升序程序给改成降序程序啊??

[ 本帖最后由 xiaocat3 于 2010-3-3 00:54 编辑 ]
搜索更多相关主题的帖子: 元素 
2010-03-03 00:53
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:5 
条件交换
程序代码:
if(a[i]<0)

 {
            /*a[i]与a[high]交换,随之high减1*/
            t=a[i];
             a[i]=a[high];
             a[high]=t;
             high--;
         }
else if(a[i]=0)
  i++;/*略过读元素*/
else(a[i]>0)
{
         /*a[i]与a[low]交换,随之low 增 1,i增  1*/
         t=a[i];
         a[i]=a[low];
         a[low]=t;
         low++;
         i++;
       }
2010-03-03 06:45
lucky563591
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:765
专家分:2103
注 册:2009-11-18
收藏
得分:5 
不懂
2010-03-03 07:31
dydsdyds
Rank: 6Rank: 6
来 自:Java
等 级:侠之大者
帖 子:217
专家分:457
注 册:2010-2-14
收藏
得分:5 
主要就是改for循环

c语言刚开一学期,就换开VB...
2010-03-03 07:59
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:5 
这不是严格意义上的排序。

将if(a[i]>0)改为if(a[i]<0),结果就反了(非完全相反)

★★★★★为人民服务★★★★★
2010-03-03 08:59
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
这个主要是正负的排序
2010-03-03 09:11
快速回复:请问,谁能帮忙把这个升序排序程序改成降序排序程序啊?
数据加载中...
 
   



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

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