如何通过索引从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);
白猪掌柜的
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 关注
- 1900 浏览
添加回答
举报
0/150
提交
取消
