21xrx.com
2025-03-28 00:47:16 Friday
文章检索 我的文章 写文章
C++删除数组中指定数的方法
2023-07-05 02:51:45 深夜i     17     0
C++ 删除 数组 指定数 方法

C++是一种广泛使用的编程语言,它支持各种数据类型和数据结构,包括数组。如果您需要从数组中删除指定的数字,那么C++提供了几种方法来实现这个目标。

一种常见的方式是使用std :: vector,它是一个动态数组,因此可以方便地添加或删除元素。您可以使用std :: remove算法将指定数字从向量中删除。代码示例如下:

#include <vector>
#include <algorithm>
using namespace std;
int main()
{
  vector<int> arr = 1;
  int toRemove = 3;
  arr.erase(remove(arr.begin(), arr.end(), toRemove), arr.end());
  return 0;
}

在这个示例中,我们使用std :: remove算法来查找并删除向量中的所有值为3的元素。该算法返回删除后的向量的结束迭代器,我们可以使用arr.erase方法从向量中删除所有不需要的元素。

另一种方式是使用普通数组。该方法有点棘手,因为我们不能直接从数组中删除元素,但我们可以使用另一个数组来覆盖不需要的元素。代码示例如下:

#include <iostream>
using namespace std;
int main()
{
  int arr[] = 4;
  int n = sizeof(arr) / sizeof(arr[0]);
  int toRemove = 3;
  int j = 0;
  
  for (int i = 0; i < n; i++) {
    if (arr[i] != toRemove) {
      arr[j] = arr[i];
      j++;
    }
  }
  
  n = j;
  for (int i = 0; i < n; i++) {
    cout << arr[i] << " ";
  }
  return 0;
}

在这个示例中,我们使用循环遍历数组并将所有不需要的元素复制到新数组中。最后,我们将n设置为删除元素后数组中的新大小,并使用循环打印新数组。

以上是两种从数组中删除指定数字的方法。每种方法都有其优缺点,具体取决于您的场景和要求。选择相应的方法来满足您的需求并使您的代码更加清晰和高效。

  
  

评论区

请求出错了