我试过谷歌搜索,但没有坚实的答案。什么是可用的,仍然维护C的动态数组实现?每个人的利弊是什么,最好的是什么(速度/足迹比率)?只是问,所以我不必重新发明轮子。
答案 0 :(得分:4)
答案 1 :(得分:2)
如果您正在寻找类似NSMutableArray,Objective-C或类似Java的ArrayList之类的东西,您将找不到任何东西(至少是std C)。 但是,您可以在C中创建自己的动态数组实现。它将需要您几个代码行,并不难实现。
你需要记住的是时间与记忆。您可以执行一个实现,分配一个更大的新数组,每次推送/添加一个元素,然后在返回或引用时为您弹出它,或者您可以每次重新分配内存。我没有看到任何一个都没有大的优势,除了realloc是一个C库函数,我认为它是低级实现的,这意味着它可能更快,并且在实现方面我会选择realloc,因为它更快实行。 您甚至可以构建一个api,为您提供排序类型并清理所有方法。
现在取决于你。
希望这有帮助。