如果我有
vector<T> list
Run Code Online (Sandbox Code Playgroud)
如果列表中的每个元素都是唯一的,那么删除元素的最简单方法是什么,只要我不知道它是否在列表中?我不知道元素的索引,我不在乎它是否在列表中.
Kir*_*rov 19
你可以使用ed-vector的Erase-remove成语
引用:
std::vector<int> v;
// fill it up somehow
v.erase(std::remove(v.begin(), v.end(), 99), v.end());
// really remove all elements with value 99
Run Code Online (Sandbox Code Playgroud)
或者,如果您确定它是唯一的,只需迭代向量并擦除找到的元素.就像是:
for( std::vector<T>::iterator iter = v.begin(); iter != v.end(); ++iter )
{
if( *iter == VALUE )
{
v.erase( iter );
break;
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36440 次 |
最近记录: |