21xrx.com
2024-12-23 00:48:01 Monday
登录
文章检索 我的文章 写文章
如何在C++中删除数组中的某一项?
2023-07-08 16:05:18 深夜i     --     --
C++ 删除 数组

在C++中,要删除数组中的某一项,需要使用以下步骤:

1. 找到要删除的元素的索引。

2. 将要删除的元素之后的所有元素向前移动一个位置,覆盖掉被删除的元素。

3. 缩小数组的大小,以避免未被初始化的空间被访问。

下面是一个示例程序,以演示如何删除数组中的某一项。


#include <iostream>

using namespace std;

int main() {

  int arr[5] = 1;

  int index = 3; //要删除的元素的索引

  for (int i = index; i < 4; i++) {

    arr[i] = arr[i + 1]; //将后面的元素向前移动一个位置

  }

  //数组的大小缩小1

  int newSize = sizeof(arr) / sizeof(arr[0]) - 1;

  int *newArr = new int[newSize];

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

    newArr[i] = arr[i];

  }

  delete[] arr; //释放原来的数组

  arr = newArr; //将指针指向新的数组

  //输出删除后的数组

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

    cout << arr[i] << " ";

  }

  cout << endl;

  return 0;

}

在这个示例程序中,我们首先定义了一个大小为5的整数数组,并将其中的元素初始化为1,2,3,4,5。然后我们指定要删除的元素的索引是3。

我们使用一个循环来将要删除的元素后面的所有元素向前移动一个位置,覆盖掉被删除的元素。接下来我们使用一个新的数组来保存删除后的数组。

我们首先确定新数组的大小为原数组大小减1。我们创建一个新数组并将原数组的元素复制到其中。然后我们释放原来的数组并将指针指向新数组。

最后,我们输出删除后的数组。

在C++中删除数组中的某一项可能会导致内存泄漏。因此,我们应该记得在删除后释放内存。

  
  

评论区

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