C++移除数组中的特定元素
时间: 2023-08-13 15:07:29 浏览: 61
在 C++ 中,可以使用以下方法从数组中删除特定元素:
1. 使用 std::remove() 函数从数组中移除特定元素,并使用 std::distance() 函数计算新数组的大小。
```cpp
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 3;
// 使用 std::remove() 移除特定元素
int* new_end = std::remove(arr, arr + n, key);
// 计算新数组的大小
int new_size = std::distance(arr, new_end);
// 打印新数组
for (int i = 0; i < new_size; i++) {
std::cout << arr[i] << " ";
}
```
2. 使用循环遍历数组,找到特定元素并将其从数组中移除。
```cpp
int arr[] = {1, 2, 3, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int key = 3;
// 遍历数组并移除特定元素
int index = 0;
for (int i = 0; i < n; i++) {
if (arr[i] != key) {
arr[index++] = arr[i];
}
}
// 计算新数组的大小
int new_size = index;
// 打印新数组
for (int i = 0; i < new_size; i++) {
std::cout << arr[i] << " ";
}
```
无论使用哪种方法,都需要注意数组的大小和新数组的大小,以免访问超出边界。