C++程序:从给定向量中移除元素


假设我们有一组存在于向量中的元素。我们将不得不使用向量类类型的erase()函数执行一些删除操作,以便使用索引进行删除,最后显示其余元素。erase函数不直接使用索引。我们将不得不通过传递v.begin()+index来传递其地址,这里v是向量,v.begin()是第一个元素(第0个元素)的地址。现在通过向其添加索引,它将移动到给定索引处存在的元素。

因此,如果输入类似于v = [5,8,6,3,2,0,1,4],从索引2、6和5处删除,则输出将为[5,8,3,2,0],因为最初数组为[5,8,6,3,2,0,1,4],现在从索引2处删除元素后,它变为[5,8,3,2,0,1,4],现在索引6处的元素为4,因此删除它后,数组将变为[5,8,6,3,2,0,1],现在索引5处的元素为1,因此删除它后,数组将变为[5,8,3,2,0]。

为了解决这个问题,我们将遵循以下步骤:

  • 使用v.erase(v.begin()+2)删除索引2处的元素

  • 使用v.erase(v.begin()+6)删除索引6处的元素

  • 使用v.erase(v.begin()+5)删除索引5处的元素

示例

让我们看看下面的实现以更好地理解:

Open Compiler
#include <iostream> #include <vector> #include <algorithm> using namespace std; int main(){ vector<int> v = {5,8,6,3,2,0,1,4}; v.erase(v.begin()+2); v.erase(v.begin()+6); v.erase(v.begin()+5); for(int i = 0; i<v.size(); i++){ cout << v[i] << " "; } }

输入

{5,8,6,3,2,0,1,4}

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

5 8 3 2 0

更新于:2021年10月7日

10K+ 浏览量

开启你的职业生涯

完成课程获得认证

开始学习
广告