为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过索引从std :: vector <>中删除元素?

如何通过索引从std :: vector <>中删除元素?

C++
至尊宝的传说 2019-08-24 15:18:39
如何通过索引从std :: vector <>中删除元素?我有一个std :: vector <int>,我想删除第n个元素。我怎么做?std::vector<int> vec;vec.push_back(6);vec.push_back(-17);vec.push_back(12);vec.erase(???);
查看完整描述

3 回答

?
吃鸡游戏

TA贡献1829条经验 获得超7个赞

要删除单个元素,您可以执行以下操作:


std::vector<int> vec;


vec.push_back(6);

vec.push_back(-17);

vec.push_back(12);


// Deletes the second element (vec[1])

vec.erase(vec.begin() + 1);

或者,一次删除多个元素:


// Deletes the second through third elements (vec[1], vec[2])

vec.erase(vec.begin() + 1, vec.begin() + 3);


查看完整回答
反对 回复 2019-08-24
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

这个怎么样?

void squeeze(vector<int> &v){
    int j = 0;
    for (int i = 1; i < v.size(); i++)
        if (v[i] != v[j] && ++j != i)
            v[j] = v[i];
    v.resize(j + 1);}


查看完整回答
反对 回复 2019-08-24
  • 3 回答
  • 0 关注
  • 1803 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信