开篇
本题来源于《编程珠玑》第9章【代码调优】课后习题8。旨在实现一段使用哨兵找出数组中最大元素的逻辑代码。
题目描述
如何在程序中使用哨兵来找出数组中的最大元素?
思路分析
这个问题相对来说比较简单,以初始值作为哨兵,和后续的值进行比较及处理即可。
代码实现
#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 arr[] = { 5, 12, 7, 19, 22, 12 };int size = sizeof(arr) / sizeof(arr[0]);// 调用findMax找出数组最大元素int max = findMax(arr, size);printf("数组中最大元素为: %d\n", max);return 0;
}
代码运行结果
注
以上便是本文的全部内容,感谢阅读!