c++删除数组中的最大值
时间: 2023-11-17 20:07:18 浏览: 427
你可以使用以下步骤来删除数组中的最大值:
1. 首先,找到数组中的最大值。遍历整个数组,比较每个元素与当前最大值,并更新最大值变量。
2. 然后,创建一个新的数组,长度比原数组少1。这可以通过动态分配内存或使用 std::vector 容器来实现。
3. 再次遍历原数组,将除最大值之外的所有元素复制到新数组中。
下面是一个示例代码,演示如何使用C++删除数组中的最大值:
```cpp
#include <iostream>
#include <vector>
int main() {
// 原始数组
int arr[] = {5, 2, 8, 3, 1};
int n = sizeof(arr) / sizeof(arr[0]);
// 找到最大值
int maxVal = arr[0];
for (int i = 1; i < n; i++) {
if (arr[i] > maxVal) {
maxVal = arr[i];
}
}
// 创建新数组,并复制除最大值之外的元素
std::vector<int> newArr;
for (int i = 0; i < n; i++) {
if (arr[i] != maxVal) {
newArr.push_back(arr[i]);
}
}
// 打印新数组
for (int i = 0; i < newArr.size(); i++) {
std::cout << newArr[i] << " ";
}
std::cout << std::endl;
return 0;
}
```
这个示例代码将输出删除最大值后的数组:`5 2 3 1`。请注意,此示例使用了 std::vector 容器来创建新数组,以避免手动管理内存。如果你更熟悉动态内存分配,也可以使用动态分配的数组来实现相同的功能。
阅读全文