如何通过索引从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 回答
![?](http://img1.sycdn.imooc.com/54584e120001811202200220-100-100.jpg)
吃鸡游戏
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);
![?](http://img1.sycdn.imooc.com/54584de700017cbd02200220-100-100.jpg)
白猪掌柜的
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);}
- 3 回答
- 0 关注
- 1803 浏览
添加回答
举报
0/150
提交
取消