从值 – C中删除向量中的元素
发布时间:2020-12-16 03:14:26 所属栏目:百科 来源:网络整理
导读:如果我有 vectorT list 如果列表中的每个元素都是唯一的,那么删除元素最简单的方法是什么,只要我不知道它是否在列表中?我不知道元素的索引,我不在乎它是否不在列表中. 解决方法 你可以使用 Erase-remove idiom for std::vector 引用: std::vectorint v; //
如果我有
vector<T> list 如果列表中的每个元素都是唯一的,那么删除元素最简单的方法是什么,只要我不知道它是否在列表中?我不知道元素的索引,我不在乎它是否不在列表中. 解决方法
你可以使用
Erase-remove idiom for std::vector
引用: 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 或者,如果您确定它是唯一的,只需遍历向量并擦除发现的元素.就像是: for( std::vector<T>::iterator iter = v.begin(); iter != v.end(); ++iter ) { if( *iter == VALUE ) { v.erase( iter ); break; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |