21xrx.com
2024-11-22 06:22:00 Friday
登录
文章检索 我的文章 写文章
C++如何删除数组中的最大值
2023-07-07 14:13:35 深夜i     --     --
C++ 删除 数组 最大值 算法

C++是一种非常流行的编程语言,它广泛应用于各种不同领域的开发和编程。在C++中,我们需要经常操作数组,而删除数组中的最大值是一个常见的需求。那么,C++如何删除数组中的最大值呢?

首先,我们需要定义一个数组并初始化它。例如,我们定义一个整数数组并初始化如下:


int arr[] = 1;

int n = sizeof(arr) / sizeof(arr[0]);

接着,我们需要找到数组中的最大值及其索引。我们可以使用循环来遍历数组并找到最大值。代码如下:


int max_val = arr[0]; // 初始化为数组第一个元素

int max_idx = 0; // 初始化为第一个元素的索引

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

if (arr[i] > max_val) {

max_val = arr[i];

max_idx = i;

}

}

找到最大值及其索引之后,我们可以将数组中该元素后面的所有元素向前移动一个位置,从而实现删除该元素的目的。


for (int i = max_idx; i < n - 1; i++) {

arr[i] = arr[i+1];

}

最后,我们需要更新数组的大小,即将数组的最后一个元素删除。


n--;

现在,数组中的最大值已经被删除了。我们可以打印出删除后的数组,如下:


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

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

}

完整的代码如下:


#include <iostream>

using namespace std;

int main() {

  int arr[] = 5;

  int n = sizeof(arr) / sizeof(arr[0]);

  int max_val = arr[0];

  int max_idx = 0;

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

    if (arr[i] > max_val) {

      max_val = arr[i];

      max_idx = i;

    }

  }

  for (int i = max_idx; i < n - 1; i++) {

    arr[i] = arr[i+1];

  }

  n--;

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

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

  }

  return 0;

}

总之,删除数组中的最大值并不是一件非常困难的事情。我们可以使用循环遍历数组,找到最大值及其索引,并将后面的元素向前移动一个位置,最后更新数组的大小即可。

  
  

评论区

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