| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 371 人关注过本帖
标题:字符串排序引出的问题
只看楼主 加入收藏
xdyuan33
Rank: 3Rank: 3
来 自:广西大学化工学院
等 级:论坛游侠
帖 子:146
专家分:145
注 册:2009-7-24
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
字符串排序引出的问题
sort(char *p[])
{
   int i,j;
   char *temp;
   for(i=0;i<9;i++)
     for(j=0;j<9-i;j++)
       if(strcmp(*(p+j),*(p+j+1))>0)
         {temp=*(p+j);
          *(p+j)=*(p+j+1);
          *(p+j+1)=temp;
         }
}
我的理解是I=0时:    *p 和*(p+1)比较
                    *(p+1)和*(p+2)比较
                    。。。
                   *(p+7)和*(p+8)比较
         
          I=1时:  *p 和*(p+1)比较
                    *(p+1)和*(p+2)比较
                    。。。
                   *(p+6)和*(p+7)比较
           。。。。。。。。。。
可是又不对,感觉中间重复比较了。不知道哪里理解错了
很郁闷啊,哪位大哥大姐帮解释下啊(主要是两个FOR的关系搞不懂)

搜索更多相关主题的帖子: 字符 
2009-09-10 23:52
迷途流浪
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:20
专家分:139
注 册:2009-9-6
收藏
得分:5 
请问你的参数要的是一维数组还是多维数组。直接影响你的指针使用

最好把你的程序传上来,再把你要实现功能说明了!!
举几个字符串,然后排成啥样子!!
别人看明白了才回答你问题!!
2009-09-11 00:24
小J
Rank: 8Rank: 8
等 级:等待验证会员
威 望:1
帖 子:282
专家分:704
注 册:2009-6-18
收藏
得分:10 
你这好像是一个冒泡排序
大循环控制的是排序需要的次数
小循环控制的是比较次数
小循环的意思是把一个数和第二个数比较,如果第一个数大于第二数则交换他们的位置,反之则不交换;然后……直到循环到最后一个得到一个最大的数!



建议你仔细看哈冒泡排序法!
2009-09-11 00:33
hwdwow
Rank: 2
等 级:论坛游民
帖 子:119
专家分:98
注 册:2009-3-21
收藏
得分:5 
for(high=n-1; high>0; high--)
     for(j=0; j<high; j++)

写成这样就能见名知意了,中国的教科书垃圾的很。一个初学者飘过。
2009-09-11 08:31
快速回复:字符串排序引出的问题
数据加载中...
 
   



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

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