CArray的效率

前面已经讲过CArray的使用方法和一些注意事项了,现在,我再给大家说说这个模板类的效率问题。

使用动态数组,我们所关注的,也许是它的可伸缩性,其实,也就是对内存的动态管理。当然,这个动态数组还必须能像普通数组那样使用下标来直接获取元素,这和它的效率是直接相关的。

在CArray的内部,的确保存着一块动态创建的内存块,它线性的存储已经存在的元素,从而保证了它可以像普通数组一样,用下标作为偏移量来直接获取元素,不过,这并不是它的全部,我们现在,所要考虑的问题是:它如何动态的追加元素。

CArray追加元素使用Add函数,非常的简单通用。此时,在CArray的内部,将会删除之前的内存,而重新申请一块新的足以存放追加后所有元素的内存,显然,这对于频繁加减元素的操作来说,会大大的降低效率,尤其在这个数组的元素数目已经足够大的时候,每次删创将会严重的影响程序运行的效率,从而我们不得不放弃这个让人既爱且恨的家伙,那么有没有什么样的数据结构可以替换此时的CArray呢?当然,那就是我们的明日之星 --- CList。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值