我在采访中被问到,所以只是出于好奇......
假设我有一个由 {3, 6, 7, 7, 7, 1} 组成的数组,我想将其变为 {3, 6, 7, 1} 并删除所有连续的 7。
应该怎么说?将数组复制到另一个数组或调整原始数组的大小?以及每种方法的优缺点
谢谢!
顺便说一句,请使用 C 或 C++。
最佳答案
我会调整大小。优点 - 速度快,无需复制。缺点 - 可能存在内存碎片。除此之外,对于这种大小的东西来说,真正向下调整大小的任何东西都不太可能被内存 API 忽略。每当发生向下调整大小时,内存系统不一定需要移动内存(但可能会!)。
关于c - 调整数组大小和复制哪个更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14839801/