从向量创建子向量
在 C 中,如果您有一个大小为 N (myVec) 的现有向量,并且您希望从中提取一个子向量,其中包含从索引 X 到索引 Y 的元素,最直接的方法是到:
vector<T>::const_iterator first = myVec.begin() + X; vector<T>::const_iterator last = myVec.begin() + Y + 1; vector<T> newVec(first, last);
此操作以 O(N) 复杂度执行。
替代 STL 数据类型
如果效率至关重要并且 O (N)性能不可接受,其他STL数据结构可以考虑:
向量、双端队列或列表之间的选择最终取决于您的具体性能要求和访问模式申请。
以上是如何在 C 中高效创建子向量?的详细内容。更多信息请关注PHP中文网其他相关文章!