| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1230 人关注过本帖
标题:哪位大哥能帮我看看这个问题出在哪呢....程序总是执行到一半就结束了...
只看楼主 加入收藏
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:0 
以下是引用小糊涂神c30在2012-7-25 14:49:40的发言:

我觉得可以定义一个动态数组,这样就不会浪费空间,而且也只需要遍历一次,但这样加大了代码量。

动态数组?没怎么用过好像,动态数组的长度是可变的吗?我知道用链表可以解决这个问题,但是感觉链表效率还不一定比遍历两次更高

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-25 14:55
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
C哪来的动态数组,用STL库的话,也不存在压缩的问题,直接删除不需要的项就得了。链表也不用压缩了,呵呵~

[ 本帖最后由 TonyDeng 于 2012-7-25 14:57 编辑 ]

授人以渔,不授人以鱼。
2012-07-25 14:56
LShang
Rank: 4
来 自:China
等 级:业余侠客
威 望:3
帖 子:183
专家分:258
注 册:2010-12-24
收藏
得分:0 
以下是引用TonyDeng在2012-7-25 14:56:22的发言:

C哪来的动态数组,用STL库的话,也不存在压缩的问题,直接删除不需要的项就得了。链表也不用压缩了,呵呵~

这样的啊,怪不得我不知道动态数组呢。。。T版又教了我一些,真好 哈哈 帮朋友干活去啦

学如逆水行舟,不进则退
士不可以不弘毅,任重而道远
2012-07-25 15:01
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
动态数组是解释语言才有的概念,因为运行到定义数组那条语句之前,数组的维数已经计算出来,到那一条语句,就等于固定数组分配,与C的数组分配原理相同,而C之所以做不到,是因为它不是解释运行的,在编译时就必须知道数组的维数,如果在整个编译过程中,都算不出这个数,编译器就无法分配数组空间。

STL库的容器vector类可以视作动态数组,但它是要预留内存的,内部有一些智能算法,根据你使用的情况动态变化预留内存,这种结构反而在你不断地add()数据时速度最快,而不是普通C那样一次申请足够的内存才最快。vector容器最具优势的地方,是它确保无论你怎么使用数据,数据内存都是连续的,可以与C的数组交换数据。

授人以渔,不授人以鱼。
2012-07-25 15:11
moonboylst
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-7-23
收藏
得分:0 
回复 16楼 TonyDeng
谢谢版主,我会再仔细思考的!!
2012-07-25 20:08
moonboylst
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2012-7-23
收藏
得分:0 
回复 17楼 LShang
这个方法刚刚试了下,感觉思路比我那个要容易理解的多.....
2012-07-25 20:16
小无相
Rank: 2
等 级:论坛游民
帖 子:35
专家分:39
注 册:2012-7-24
收藏
得分:0 
j一直是零什么页数不出来,就一个yes
2012-07-25 20:34
快速回复:哪位大哥能帮我看看这个问题出在哪呢....程序总是执行到一半就结束了. ...
数据加载中...
 
   



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

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