c语言数组最大值算法
时间: 2025-01-30 12:46:03 浏览: 42
### C语言求数组最大值的实现
#### 方法一:遍历数组寻找最大值
通过设置初始最大值为数组的第一个元素,随后遍历整个数组并与当前最大值对比来更新最大值。
```c
#include <stdio.h>
int findMax(int arr[], int size) {
int max = arr[0];
for (int i = 1; i < size; ++i) {
if (arr[i] > max) {
max = arr[i];
}
}
return max;
}
int main() {
int array[] = {3, 5, 7, 2, 8, -1, 4};
int length = sizeof(array) / sizeof(array[0]);
printf("The maximum value in the array is %d\n", findMax(array, length));
}
```
此方法简单直观,在实际应用中非常普遍[^2]。
#### 方法二:分治法求解最大值
采用递归方式将数组分为两部分分别求取各自区间内的最大值,再比较两个子区间的最大值得到最终结果。
```c
int process(int arr[], int l, int r) {
if (r == l) {
return arr[l];
}
int mid = l + ((r - l) >> 1);
int lmax = process(arr, l, mid);
int rmax = process(arr, mid + 1, r);
return (lmax > rmax) ? lmax : rmax;
}
int getMaxValue(int arr[], int len) {
return process(arr, 0, len - 1);
}
```
这种方法利用了分而治之的思想,适合处理较大规模的数据集[^1]。
阅读全文
相关推荐


















