| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 432 人关注过本帖
标题:求助!~![关于排序]
只看楼主 加入收藏
sjt
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-1
收藏
 问题点数:0 回复次数:7 
求助!~![关于排序]
以下是我编的一个小小的排序程序:
#include<stdio.h>
#include<string.h>
void select(item,count)
char *item;
int count;
{
register int a,b,c;
char t;
for(a=0;a<count-1;++a)
{
c=a;
t=item[a];
for(b=a+1;b<count;++b)
{
if(item[b]<t) /*如果将此行中的t改成item[a],运行结果就会错误。例如输入:bggdeea,输出的就是abedegg*/
{
c=b;
t=item[b];
}
}
item[c]=item[a];
item[a]=t;
}
}
main()
{
char s[80];
printf("\tPlease insert the ring:");
gets(s);
select(s,strlen(s));
printf("\t:After order is :%s\n",s);
getch();
}
经过小小的修改后,发现输出的结果不是自己期望得到的,还望诸位大侠能予以指教~!谢谢!~
2007-10-17 01:10
永夜的极光
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2721
专家分:1
注 册:2007-10-9
收藏
得分:0 
t=item[a];
for(b=a+1;b<count;++b)
{
if(item[b]<t)
{
c=b;
t=item[b];
}
}

这一段的作用是在item[a]之后的数据找出一个最小的,然后跟item[a]交换,每当找到一个比当前的t小的值,就把值赋给t,你如果换成item[b]<item[a],那就是一直跟item[a]比较而已,是找不到最小值的

从BFS(Breadth First Study)到DFS(Depth First Study)
2007-10-17 07:40
hjlwlyhjl
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-12-6
收藏
得分:0 
if(item[b]<t) /*如果将此行中的t改成item[a],运行结果就会错误。例如输入:bggdeea,输出的就是abedegg*/


这是肯定要出错的,因为把item[a]替换了t时,在内循环中item[a]是个固定值,它不是每次内循环得到的较小值,所以结果就不会正确了

2007-10-17 13:01
ascend_0707
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-16
收藏
得分:0 
学习了!
2007-10-17 14:04
copu1
Rank: 1
等 级:新手上路
帖 子:51
专家分:0
注 册:2007-10-8
收藏
得分:0 
TO 经过小小的修改后,发现输出的结果不是自己期望得到的,还望诸位大侠能予以指教~!谢谢!~

我运行了你的程序已经能够排序!不知道你期望的结果是如何?

2007-10-17 14:42
ascend_0707
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2007-10-16
收藏
得分:0 
select(item,count)是个什么函数?谢谢!
2007-10-17 15:16
hjlwlyhjl
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2006-12-6
收藏
得分:0 
回复:(ascend_0707)select(item,count)是个什么函数...

那时版主自定义了一个排序函数。


2007-10-17 16:16
sjt
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2007-8-1
收藏
得分:0 
回复:(永夜的极光) t=item[a]; for(b=a+1;b&l...

明白了!~!谢谢!~!

2007-10-17 22:11
快速回复:求助!~![关于排序]
数据加载中...
 
   



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

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