21xrx.com
2025-03-24 19:22:59 Monday
文章检索 我的文章 写文章
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++中,删除数组元素的方法有很多种,可根据实际需求选择相应的方法。

  
  

评论区