c - 调整数组大小和复制哪个更好?

标签 c arrays resize

我在采访中被问到,所以只是出于好奇......

假设我有一个由 {3, 6, 7, 7, 7, 1} 组成的数组,我想将其变为 {3, 6, 7, 1} 并删除所有连续的 7。

应该怎么说?将数组复制到另一个数组或调整原始数组的大小?以及每种方法的优缺点

谢谢!

顺便说一句,请使用 C 或 C++。

最佳答案

我会调整大小。优点 - 速度快,无需复制。缺点 - 可能存在内存碎片。除此之外,对于这种大小的东西来说,真正向下调整大小的任何东西都不太可能被内存 API 忽略。每当发生向下调整大小时,内存系统不一定需要移动内存(但可能会!)。

关于c - 调整数组大小和复制哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839801/

相关文章:

javascript - 如何对数组中的每个第二个数字求和?

java - 从文件读取后添加数组中的数字总和

android - 平滑调整图表和 map View 的大小

c - 在 C 中使用 lockf 锁定文件不起作用

c - 二项式系数舍入误差

javascript - 将javascript数组转换为字符串

javascript - 在滚动条上缩放 div 内容

java - 如何在运行时在 java 中调整控件大小

c - 如何将十六进制的字符串表示形式转换为其在 c 中的十六进制值?

c - 具有定义符号的 token 连接 C