21xrx.com
2024-12-22 23:41:39 Sunday
登录
文章检索 我的文章 写文章
C++如何删除数组中的元素?
2023-06-24 21:31:28 深夜i     --     --
C++ 删除 数组 元素

在C++中,如果我们需要从数组中删除元素,我们可以采用以下几种方法:

方法一:创建一个新数组

我们可以创建一个新的数组,并将需要保留的元素复制到新数组中,然后再将原数组指向新数组。这种方法需要额外的空间来存储新的数组。

核心代码示例:


int arr[n]; //n为数组大小

int index = 2; //需要删除的元素下标为2

int *newArr = new int[n-1];

int j = 0;

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

  if(i != index){

    newArr[j] = arr[i];

    j++;

  }

}

delete [] arr;

arr = newArr;

方法二:使用vector容器

在C++中,我们还可以使用vector容器来操作数组。vector的size()函数可以获取当前元素的数量,erase()函数可以将指定的元素删除,resize()函数可以调整元素数量。这种方法不需要额外的空间来存储新数组,但是可能会导致内存浪费。

核心代码示例:


vector<int> arr 2;

int index = 2; //需要删除的元素下标为2

arr.erase(arr.begin() + index);

方法三:使用STL中的算法

STL提供了很多有用的算法,如copy()、remove()、unique()等函数,我们可以使用这些函数来删除数组中的元素。这种方法需要额外的空间来存储新数组。

核心代码示例:


int arr[n]; //n为数组大小

int index = 2; //需要删除的元素下标为2

copy(arr, arr+index, newArr);

copy(arr+index+1, arr+n, newArr+index);

delete [] arr;

arr = newArr;

总结:

C++中有三种常用的方法可以删除数组中的元素:创建新数组、使用vector容器、使用STL中的算法。不同的方法适用于不同的场景和需求,我们需要根据实际情况选择最合适的方法来实现删除操作。同时,在实际开发中,我们也需要注意内存管理和资源释放,避免出现内存泄漏和其他问题。

  
  

评论区

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