【发布时间】:2016-02-11 23:51:03
【问题描述】:
假设我有一个包含 100000 个元素的向量,我希望逐个迭代该向量,同时将元素复制到某种映射中,但在每次迭代期间,从向量中删除元素 - 什么是最有效的方法是什么?
在遍历向量时,我做了类似“it = vec.erase(it)”之类的操作,但它需要很长时间才能完成。没有更快的方法吗?顺便说一句,订购非常重要......
【问题讨论】:
-
你要删除向量中的每个元素吗?最后不能直接打
clear()吗? -
不要使用矢量。使用不同的容器。
-
将元素放入一个自己排序的容器中时,排序有多重要?
-
嗯,如果你使用 push_back @BaummitAugen,vector 会阻止你放置元素的顺序,但这听起来绝对像是队列或链表的工作..
-
@Anedar 但地图通常不会。