c++ - 有没有办法压缩 vector (C++)?

标签 c++ vector loops

我有一个稀疏填充的 vector ,我通过散列法填充它,因此元素随机散布在 vector 中。现在我想要做的是遍历该 vector 中的每个元素。我的想法基本上是压缩 vector 以适应存在的元素数量,删除任何空白空间。我有办法做到这一点吗?

最佳答案

要么在插入元素期间保存额外需要的信息(例如,与链表相比,指向上一个/下一个元素的链接),要么遍历所有元素并删除不需要的元素。

第一个解决方案会花费一些空间(大约 8 个字节/条目),第二个解决方案会花费您一次遍历所有元素。根据具体情况,一种或两种可能性可能都没有用。

关于c++ - 有没有办法压缩 vector (C++)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2559193/

相关文章:

c++ - 在 C++ 中使用 Python 3.3 'python33_d.lib' 未找到

c++ - 运算符优先级(bool 之前是否为 void*?)

C++ 创建一个 std::vector<float> const 对象

c++ - 为什么 std::vector 是原始数组的两倍?包含完整代码

javascript - 将 javascript 变量放入数组并执行 foreach 循环

c++ - UDP NAT打洞示例

c++ - 使用 C++ 中的 prepare 语句在 SQLite 中批量插入数据

c++ - 在 Rcpp(和 RcppArmadillo)中,如何检查 vec 是否包含复数?

c++ - 用于检测底片的递归解决方案?

javascript - 如何过滤出一个字符串,使其仅包含普通 Javascript 中的字母?