【发布时间】:2011-07-17 22:15:41
【问题描述】:
我有一个记录列表,一开始我不知道记录的数量。我需要将它们读入数组。 因此,是否建议逐个读取所有记录并逐个执行 realloc 并在元素出现时继续增加数组大小,或者我应该花一遍来确定记录的数量并且只执行一次 malloc 吗?哪个计算成本更低?
【问题讨论】:
-
有一个中间立场。您可以分配一个大块(我不知道,100 个?),如果填满,重新分配到该大小的 2 倍(或 1.5 倍或任何有意义的)。这是动态列表的常用策略。
-
同时实施和衡量...这是在时间关键部分吗?还是只是出于好奇?
标签: c algorithm programming-languages