加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从值 – 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;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读