猿问

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

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

我有一个std :: vector <int>,我想删除第n个元素。我怎么做?

std::vector<int> vec;vec.push_back(6);vec.push_back(-17);vec.push_back(12);vec.erase(???);


至尊宝的传说
浏览 1804回答 3
3回答

吃鸡游戏

要删除单个元素,您可以执行以下操作: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);

白猪掌柜的

这个怎么样?void&nbsp;squeeze(vector<int>&nbsp;&v){ &nbsp;&nbsp;&nbsp;&nbsp;int&nbsp;j&nbsp;=&nbsp;0; &nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(int&nbsp;i&nbsp;=&nbsp;1;&nbsp;i&nbsp;<&nbsp;v.size();&nbsp;i++) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(v[i]&nbsp;!=&nbsp;v[j]&nbsp;&&&nbsp;++j&nbsp;!=&nbsp;i) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;v[j]&nbsp;=&nbsp;v[i]; &nbsp;&nbsp;&nbsp;&nbsp;v.resize(j&nbsp;+&nbsp;1);}
随时随地看视频慕课网APP
我要回答