| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 486 人关注过本帖
标题:先输入待排序记录个数,再输入数进行排序,该怎么建立数组呢?
只看楼主 加入收藏
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:7 
先输入待排序记录个数,再输入数进行排序,该怎么建立数组呢?
先输入待排序记录个数,再输入待排序序列,
但是数组的长度不能是变量,
现在该怎么样解决这个问题啊??求高手指教。

搜索更多相关主题的帖子: 记录 怎么样 
2012-04-07 20:42
MRPutin
Rank: 2
等 级:论坛游民
帖 子:21
专家分:43
注 册:2012-3-28
收藏
得分:12 
这问题归根结底是数据结构设计的问题,数组是一种确定的线性的数据结构,你可以考虑下链表,随便看一段建立链表的例程会对你有启发

*          坚持与积累成就C语言王者之路      *
2012-04-07 20:45
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 2楼 MRPutin
还没接触过链表的,这里的问题直接能解决吗?
2012-04-07 20:58
xp0213
Rank: 7Rank: 7Rank: 7
来 自:湖北武汉
等 级:黑侠
威 望:1
帖 子:210
专家分:522
注 册:2011-10-26
收藏
得分:0 
你可以这样,先定义一个足够大的数组,如要对数组a[10]进行排序,你可以先定义为a[20],然后输入要排序的个数,如scanf("%d",&n);
然后依次输入数组的数,如for(int i=0;i<n;i++) scanf("%d",&a[i]);
这样就可以了,当然这有一个弊端,因为你不知道数组的大小,只能定义一个足够大的数组,这样很浪费空间,比较好的可以用链表去解决。
希望对你有用。
2012-04-07 21:10
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 4楼 xp0213
恩恩,谢谢指导,很有帮助。谢谢
2012-04-07 21:15
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 4楼 xp0213
呵呵、、c++里边可以用运算符new和delete来实现,分享一下。
2012-04-08 15:18
新手菜鸟鸟
Rank: 2
等 级:论坛游民
帖 子:37
专家分:57
注 册:2012-1-15
收藏
得分:8 
回复 5楼 简体字01
这种问题只有两个解决办法...一个是链表  一个是建立足够大的数组  建议自己看下链表的内容
2012-04-08 15:28
简体字01
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:137
注 册:2012-3-4
收藏
得分:0 
回复 7楼 新手菜鸟鸟
链表我没学,但是在c++里边new和delete能解决这个问题的。
2012-04-08 16:20
快速回复:先输入待排序记录个数,再输入数进行排序,该怎么建立数组呢?
数据加载中...
 
   



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

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