如何在比较1.5 len的次数下,找到整型数组最大最小值

2016-11-11

#include <iostream>
#include<stdlib.h>
#include<stdio.h>
using namespace std;

void findmaxmin(int num[],int  len,int &dmax ,int &dmin)
{
    int max=0;
    int min=625;//假设没有比625大的;
    for(int i=0;i<len;i=i+2)
    {
        if(num[i]>num[i+1])
        {
            if(num[i]>max)
            {
                max=num[i];
            }
            if(num[i+1]<min)
            {
                min=num[i+1];
            }
        }
        else{
                if(num[i+1]>max)
            {
                max=num[i+1];
            }
            if(num[i]<min)
            {
                min=num[i];
            }
        }
    }

    dmax=max;
    dmin=min;

}


int main()
{
int s[10]={1,3,42,54,2,54,6,87,22,10};
int len=10;
int dmax,dmin;
findmaxmin(s,len,dmax,dmin);
cout<<dmax<<endl;
cout<<dmin<<endl;


    return 0;
}

  写的有点乱,其实可以用   :?这个运算符吧,凑活看吧

每次取两个数,大小比较0.5len次。。。。大的比大的,小的比小的len次,共1.5len次

原文地址:https://www.cnblogs.com/8335IT/p/6054558.html