我有一个记录列表,一开始我不知道记录数。我需要将它们读入数组。
那么,是否建议一一读取所有记录并一一进行 realloc 并在元素到来时继续增加数组大小,或者我应该花一次来识别记录数并仅进行一次 malloc ?哪一个的计算成本会更低?
A realloc
真的不是很贵。但打电话realloc
每个元素都有点多。我建议你这样做:
- 从尺寸开始
- 添加元素时,检查是否有足够的空间
- 当空间不足时,将当前数量加倍
正确猜测适当的初始大小也有帮助。因此,如果您的输入中有 60% 少于 100 条记录,请从此开始。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)