# include <bits/stdc++.h>
# define random(x)rand()%(x)
using namespace std;intmain(){int n ,*p;
cout <<"请输入数组长度:"<< endl;
cin >> n;
p =newint[n];srand((int)time(0));// 产生随机种子 0缓冲NUll也行for(int i =0; i < n; i ++)
p[i]=(random (20)+1);int max = INT_MIN;int min = INT_MAX;int compare =0;
bool flag =false;// flag用于 标记数组长度数偶数还是奇数if(n %2){// 若是奇数,条件为真
n --;
flag =true;}/*
每次先两个两个数进行比较,一定会分出大小,两者中最大的去和max比较
最小的去和min比较
*/for(int i =0; i < n-1;){if(p[i]< p[i+1]){
compare ++;if(p[i]< min ){
min = p[i];
compare ++;}if(p[i+1]> max){
max = p[i+1];
compare ++;}
i +=2;// 因为两个两个数进行比较,所以步长为2 }else{if(p[i+1]< min ){
min = p[i+1];
compare ++;}if(p[i]> max){
max = p[i];
compare ++;}
i +=2;}}// 如果n是奇数,还需要和最后一个数作比较if(flag){if(p[n]< min){
min = p[n];
compare ++;}if(max > p[n]){
max = p[n];
compare ++;}}
cout <<"The max value of the arr is: "<< max << endl;
cout <<"The min value of the arr is: "<< min << endl;
cout <<"The comparison times is: "<< compare << endl;return0;}