21xrx.com
2024-12-22 21:10:41 Sunday
登录
文章检索 我的文章 写文章
C++如何删除数组中的元素?
2023-07-10 12:51:37 深夜i     --     --
C++ 删除 数组 元素

在C++中,删除数组中的元素可以通过以下几种方法实现:

1.移动元素

该方法的基本思想是,将待删除元素后面的所有元素向前移动一位,覆盖掉待删除的元素。在这之前,需先通过for循环确定待删除元素在数组中的位置。代码如下:


int arr[10] = 8;

int del = 4;

for(int i=del;i<9;i++){

  arr[i] = arr[i+1];

}

在上述代码中,将数组元素arr[4]删除,并将该元素后方的数组向前移动一位。

2.标记删除

标记删除即在数组中添加一个标记,标记该元素已被删除。该方法不会移动数组中的元素,但需在程序中特别处理含标记元素的操作。示例如下:


int arr[10] = 1;

for(int i=0;i<10;i++){

  if(arr[i]==-1)

    continue;

  

  cout<<arr[i]<<endl;

}

在上述代码中,将数组中的3、5、7元素删除,并用-1进行标记。在输出时,通过判断数组中是否存在-1,来实现输出不含已删除元素的数组。

3.vector容器

使用vector容器可以实现在数组中删除元素,且操作相对简单。在vector中,可直接调用erase函数删除元素。示例如下:


#include<vector>

#include<iostream>

using namespace std;

int main(){

  vector<int> vec = 4;

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

  for(auto it=vec.begin();it!=vec.end();it++){

    cout<<*it<<endl;

  }

  return 0;

}

在上述代码中,调用erase函数删除vec[3]元素,并通过迭代器输出删除后的vector数组。

总之,在C++中,删除数组元素的方法有很多种,可根据实际需求选择相应的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复