程序中,我们经常使用数组(列表)存储给定的线性序列(例如 {1,2,3,4}),那么如何查找数组(序列)中的最大值或者最小值呢?...查找数组(序列)中最大值或最小值的算法有很多,接下来我们以 {3,7,2,1} 序列为例讲解两种查找最值的算法,一种是普通算法,另一种是借助分治算法解决。...直到遍历完整个数组,max 记录的就是数组中的最大值,min 记录的就是数组中的最小值。...C语言学习资源汇总【最新版】
分治算法
下图展示了用分治算法查找 {3, 7, 2, 1} 中最大值的实现过程:
分治算法找最大值
分治算法的实现思路是:不断地等分数组中的元素,直至各个分组中元素的个数...最终找出 [x , y] 中的最大值
分治算法实现“求数组中最大值”的 C 语言程序如下:
#include
//自定义函数,其中 [left,right] 表示 arr 数组中查找最大值的范围