zoukankan      html  css  js  c++  java
  • 寻找最大值最小值

    主要的做法是,成对的比较元素

    而不是将每一个元素与当前的最小值或最大值进行比较

    #include <iostream>
    using namespace std;
     
    //同时找出最大值最小值
    void MaxAndMin(int array[], int size, int &max, int &min)
    {
        if (size/2 *2 == size)//偶数
        {
            if (array[0] < array[1])
            {
                min = array[0];
                max = array[1];
            }
            else
            {
                min = array[1];
                max = array[0];
            }        
        }
        else//奇数
        {
            max = array[0];
            min = array[0];
        }
        //成对比较,小的与当前最小值比,大的与当前最大值比
        for (int i=2; i<size; i=i+2)
        {
            if (array[i] <= array[i+1])
            {
                if (array[i] < min)
                {
                    min = array[i];
                }
                if (max < array[i+1])
                {
                    max= array[i+1];
                }
            }
            else
            {
                if (array[i+1] < min)
                {
                    min = array[i+1];
                }
                if (max < array[i])
                {
                    max= array[i];
                }
            }
        }
    }
    
    void main()
    {
        int Array[10] = {4, 1, 3, 2, 6, 9, 10, 5, 8, 7};
     
        int max = 0, min = 0;
        MaxAndMin(Array, sizeof(Array)/sizeof(Array[0]), max, min);
     
        cout << "Max: " << max << "		" << "Min: " << min << endl;
    
        system("pause");
    }

     2015 @4.17 修改代码细节

  • 相关阅读:
    【LeetCode-位运算】汉明距离总和
    python类的继承和重写
    单元测试unittest使用说明
    Java学习90
    Java学习89
    Java学习88
    Java学习87
    Java学习86
    Java学习85
    Java学习84
  • 原文地址:https://www.cnblogs.com/sevenPP/p/3662097.html
Copyright © 2011-2022 走看看