查找数组中的最大值和最小值有下面的方法:

1、按照普通的方法进行查找,分别写出找到数组中最大值函数和最小值函数,这种方法很简单:

代码如下:

int Min(int *pnArr, int nLen)
{int nMin = pnArr[0];for (int i = 1; i < nLen; i++){if (nMin > pnArr[i]){nMin = pnArr[i];}}return nMin;
}int Max(int *pnArr, int nLen)
{int nMax = pnArr[0];for (int i = 1; i < nLen; i++){if (nMax < pnArr[i]){nMax = pnArr[i];}}return nMax;
}

2、第二种方法,就是同时查找数组中的最大值和最小值,这种方法和查找数组中的最小值和次最小之一样,

当数组的个数是偶数时N:

1、首先假设最小值和最大值是最前面的两个数

min1=p[0];

min2=p[1];

2、进行循环,进入下一组的两个数中进行比较【3 4】中对比

如果第三个数小于第四个数

那个第三个数跟min1 和max的数进行比较,重新分配最小值和最大值

与之雷同第三个数大于第四个数时,一样的操作,

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

第二种情况:

当数组中数的个数是奇数时N,

这一过程和偶数时类似:

1、假设最小值和最大值的数都是p[0],

这样剩下的数就是偶数了,

2、进入下来那个组数进行比较,重新分配最小值和最大值

依次按照两个两个的数进行循环,就可以得到最小值和最大值

具体的操作代码:

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <time.h>void PrintArr(int *pnArr, int nLen)
{for (int i = 0; i < nLen; i++){printf("%d ", pnArr[i]);}printf("\n");
}int Min(int *pnArr, int nLen)
{int nMin = pnArr[0];for (int i = 1; i < nLen; i++){if (nMin > pnArr[i]){nMin = pnArr[i];}}return nMin;
}int Max(int *pnArr, int nLen)
{int nMax = pnArr[0];for (int i = 1; i < nLen; i++){if (nMax < pnArr[i]){nMax = pnArr[i];}}return nMax;
}void MaxMin(int *pnArr, int nLen, int *pnMax, int *pnMin)
{if (nLen % 2 == 0){if (pnArr[0] > pnArr[1]){*pnMax = pnArr[0];*pnMin = pnArr[1];}else{*pnMax = pnArr[1];*pnMin = pnArr[0];}for (int i = 3; i < nLen; i += 2){if (pnArr[i] > pnArr[i - 1]){if (pnArr[i] > *pnMax){*pnMax = pnArr[i];}if (pnArr[i - 1] < *pnMin){*pnMin = pnArr[i - 1];}    }else{if (pnArr[i - 1] > *pnMax){*pnMax = pnArr[i - 1];}if (pnArr[i] < *pnMin){*pnMin = pnArr[i];}    }}}else{*pnMax = pnArr[0];*pnMin = pnArr[0];for (int i = 2; i < nLen; i += 2){if (pnArr[i] > pnArr[i - 1]){if (pnArr[i] > *pnMax){*pnMax = pnArr[i];}if (pnArr[i - 1] < *pnMin){*pnMin = pnArr[i - 1];}    }else{if (pnArr[i - 1] > *pnMax){*pnMax = pnArr[i - 1];}if (pnArr[i] < *pnMin){*pnMin = pnArr[i];}    }}}}
int main()
{int nArr[10] = {0,2,1,3,2,6,9,7,4,12}; PrintArr(nArr, 10);int nMax, nMin;MaxMin(nArr, 10, &nMax, &nMin);printf("最大值为%d  最小值为%d\n", nMax, nMin);system("pause");return 0;
}

同时查找数组中最大和最小值相关推荐

  1. es6 数组找最大值_JavaScript 查找数组中最大值与最小值

    最小值算法如下: 将数组中第一个元素赋值给一个变量,把这个变量作为最小值: 开始遍历数组,从第二个元素开始依次和第一个元素进行比较: 如果当前的元素小于当前的最小值的话,就把当前的元素值赋值给最小值: ...

  2. js获取数组中最大和最小值

    文章目录 1. 排序法 2. 假设法 3. 使用 Math 中的 max/min 方法 4. 使用ES6的扩展运算符 1. 排序法 // 数组中获取最大和最小值compareMaxMin() {con ...

  3. Javascript获取数组中最大和最小值

    https://www.cnblogs.com/zhouyangla/p/8482010.html 转载于:https://www.cnblogs.com/yuyedaocao/p/10298614. ...

  4. JavaScript 数组排序及查找数组中最大值最小值方法

    JavaScript 数组排序方法及查找最大值最小值方法 1. sort()方法排序 1.1 方法介绍 1.2 语法:arr.sort([compareFunction]) 1.3 参数说明 1.4 ...

  5. java获取数组的最小值_Java 数组获取最大和最小值的实例实现

    以下实例演示了如何通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值: Main.java 文件: impo ...

  6. 天道酬勤之Java 实例 - 数组获取最大和最小值

    以下实例演示了如何通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值: Main.java 文件: impo ...

  7. 查找数组中第二个最小元素

    查找数组中最小的两个元素的过程: 第一种情况: 如果数组的数据是偶数个N: 1.首先假设最小值和次最小值是最前面的两个数 min1=p[0]; min2=p[1]; 2.进行循环,进入下一组的两个数中 ...

  8. 6 获取数组中最小值_C语言每日一练8——数组中最大值和最小值

    题目: 利用指针函数,求某数组中的最大值和最小值. 实现代码: /* ================================================================= ...

  9. Python算法——分治法查找数组中元素最小最大值

    要求: 给定数组a1,a2,a3,...an,找出数组中最大值和最小值.(数组中两两各不相同) 分析: 算法思想类似于上图,将数组两两分为一组,如果数组元素奇数个,就把最后一个元素单独分为一组,然后分 ...

最新文章

  1. 转:Silverlight样式写法
  2. Oracle安装错误“程序异常终止
  3. pip install 报错:Versioning for this project requires either an sdist tarball, ...
  4. 二分搜索之x平方根(保留整数)
  5. HTML5 响应式图片
  6. SpringBoot中静态资源和首页定制
  7. Linux脏牛漏洞提权复现
  8. idea关联mysql数据库具体操作
  9. 高德地图 API 搜索服务 搜索定位 用不了
  10. html 如何清除历史记录,如何删除网页历史记录?
  11. 偏差-方差分解bias-variance decomposition
  12. 利用MTviz绘制线粒体基因组结构图
  13. FragmentActivity_左右滑动的碎片
  14. nginx在Linux系统安装
  15. 2021csp-j2 题解
  16. html5学习记录(三)
  17. 【kafka】三、kafka命令行操作
  18. 查看浏览器的cookie
  19. 马克一下:vue工程创建后,目录下怎么没有vue.config.js文件
  20. Ideal必备宝藏插件

热门文章

  1. Linux下触摸屏驱动程序分析
  2. Android Activity形象描述
  3. php header 不起作用,php – symfony:setHttpHeader()不起作用,header()没有
  4. 第二课unit11 系统恢复技术
  5. 苹果iphone手机上input的button按钮颜色显示有问题,安卓却没问题
  6. Logging with Log4net (二)
  7. [置顶]       强大的jquery选择器
  8. crontab 用法
  9. 新鲜的jquery插件收集
  10. 算法杂货铺——k均值聚类(K-means)