如何在比较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次
浙公网安备 33010602011771号