数组的求极值

前几篇我们知道了如何简单的使用数组

这一篇比较重要的是数组中求极值的算法

 顾名思义极值其实就是两个东西:最大值和最小值

下面我们上手代码:

 

输出结果:

其实这里面包含的逻辑其实挺简单的

我们看到这个方法

1.首先把索引为0的值,默认为最大值

2.开始for循环,然而这有很奇怪的一点就是这个for循环是从1开始的

那么是不是索引为0的值就不会进入到这个循环里面了?

错错错!其实这就是我们第一步的目的

假如从0开始索引0和索引0比较,呃,自己比较自己

你说谁大,怎么交换所以我们的循环就从1开始啦

3.判断循环条件 : i = 1 小于数组长度满足循环条件执行循环的

4.执行循环体(当前i为1):简单点就是这个意思

假如 2(array[i]) 大于  1(maxResult)

就把当前最大值改为2(maxResult = array[i] )

i++

5.来到第三步直到循环结束

6.返回结果

这个方法最核心的就是那个if判断以及里面的交换

以上就是一个数组求最大值的方法

那么最小值呢?

其实更简单,只要在求最大值的方法改一个地方就行了

没错就是把if里面的大于换成小于

 

其实这就是从最大值哪里复制过来的代码,只不过改了一点东西

其实求最小值和求最大值的思路都是一样的,不过是代码有点不一样而已

总的来说就是这样:

好了数组求极值这个简单的操作就到这里了

猜你喜欢

转载自www.cnblogs.com/menghujava/p/9852029.html