如何删除向量中指定索引处的元素,然后返回该元素? 有没有一种方法呢?向量中索引处的返回元素
0
A
回答
5
erase
可以删除指定索引处的元素,但不返回该元素。
你可以这样做:
aboutToBeErased = myVector.at(index);
myVector.erase(myVector.begin() + index);
不过要小心,矢量不善于去除不在矢量结束元素。对于大型矢量这可能是一个昂贵的操作。
3
要获得元素,你可以使用
std::vector::at()
value = mVector.at(n);
要删除,
std::vector::erase()
下面将删掉的项目没有。n+1
并调整您的矢量。mVector.erase (mVector.begin()+n);
擦除移动的所有元素,因此,指数如果你删除中间的元素。
+0
提问者也想要元素。 –
2
这里是一个函数,C++编写的11,将从矢量获得第n个元素,合理有效地消除它:
template<typename Vector>
typename Vector::value_type getAndErase(Vector& vec, size_t index)
{
Assert(index < vec.size());
typename Vector::value_type retval = std::move(vec[index]);
vec.erase(vec.begin()+index);
return retval;
}
相关问题
- 1. 含有各元素的索引向量中的返回列表
- 2. 搜索向量的单元阵列并返回索引
- 3. 形式返回元素的索引
- 4. 嵌套元素的返回索引
- 5. 返回对矢量元素的引用
- 6. 通过索引复制向量元素
- 7. 返回列表元素和索引
- 8. 使用索引返回数组元素
- 9. JQUERY按钮返回索引元素
- 10. 返回一个向量元素
- 11. 返回一个向量元素C++
- 12. 功能以矢量,索引并返回元素
- 13. 在Java中向量中打印出某些索引处的元素
- 14. 处理向量中的元素对
- 15. 引用元素在向量
- 16. 确定只出现一次的向量中元素的索引
- 17. 引用2d向量中的元素(C++)
- 18. 数组Excel中的元素的返回索引VBA
- 19. 返回元素的索引列表中的
- 20. 返回Theano向量中的值的索引
- 21. 向量中的最小值的返回索引?
- 22. 返回数组中单击元素的索引并使外部变量的值?
- 23. 返回索引矢量
- 24. 我如何索引TRUE元素向量中的R
- 25. 获得R中重复邻居元素的索引向量
- 26. 如何跟踪向量中非唯一元素的索引?
- 27. 访问UBLAS稀疏向量中非零元素的索引
- 28. 如何使用jsoup返回元素列表中的索引元素?
- 29. 如何返回C中多维数组元素的索引?
- 30. 返回元素出现在python列表中的所有索引
是否必须按顺序?你可以使用'operator []'或'at()',然后使用'erase()',否则。 – chris
重复? http://stackoverflow.com/questions/39912/how-do-i-remove-an-item-from-a-stl-vector-with-a-certain-value – Beginner
@Beginner,不是真的。它不是按价值搜索,所以使用'remove'有点没有意义。 – chris