求数组中的最大最小值

淡淡的烟草味﹌ 2023-06-26 05:36 6阅读 0赞

求数组中最大最小值的几种方法:

  • 问题分解法:遍历两次数组,反别求出最大值和最小值
  • 取单元素法:两个变量,变量min标记最小值,变量max标记最大值,每次循环取出一个元素来与最大值最小值比较。
  • 取双元素法:两个变量,变量min标记最小值,变量max标记最大值,每次循环取出两个元素,先比较两个元素的大小,小的和最小值比较,大的和最大值作比较。
  • 数组元素位移法:将数组中相邻两个数分在一组,每次比较两个相邻的数,将较大的交换至这两个数的左边,较小的放到右边。对大组遍历一遍找出最大值,对小组遍历一遍找出最小值。
  • 分治法:将数组分为两半,分别找出最小值和最大值,再找出两个最小值里的最小值,两个最大值里面的最大值。
  1. 用取双元素法求最大最小值:

    package shuzu;

    public class MaxMin {

    1. //求数组中的最带最小值(去双元素)
    2. static int Max;
    3. static int Min;
    4. public static void GetMaxAndMin(int array[]) {
  1. Max = array[0];
  2. Min = array[0];
  3. int len = array.length;
  4. for(int i = 0;i < len-1 ; i = i+2) {
  5. if(i+1>len) {
  6. if(array[i]>Max)
  7. Max = array[i];
  8. if(array[i]<Min)
  9. Min = array[i];
  10. }
  11. if(array[i]>array[i+1]) {
  12. if(array[i]>Max)
  13. Max = array[i];
  14. if(array[i+1]<Min)
  15. Min = array[i+1];
  16. }
  17. if(array[i]<array[i+1]) {
  18. if(array[i]<Min)
  19. Min = array[i];
  20. if(array[i+1]>Max)
  21. Max = array[i+1];
  22. }
  23. }
  24. }
  25. public static void main(String[] args) {
  26. int array[] = {
  27. 4,1,7,5,2,8,3,9};
  28. GetMaxAndMin(array);
  29. System.out.println("最大值为:"+Max);
  30. System.out.println("最小值为:"+Min);
  31. }
  32. }
  1. 运行截图:
    在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,6人围观)

还没有评论,来说两句吧...

相关阅读