首页 > 代码库 > 死磕==同时找出数组中得最大值和最小值
死磕==同时找出数组中得最大值和最小值
算法时间复杂度 o(n)
比较次数 3*(n/2) 不知道对不对。求破
#include <stdio.h>#define max(x,y) (x)>(y)?(x):(y)void fintmin_max(int *array,int size){ //最大数,最小数 int min,max; int i = 1;//循环下标 if (size%2) { min = max = array[0]; } else { min = array[0]; max = array[1]; i = 2; } while(i < size) { int _max = max(array[i],array[i+1]); int _min = array[i]; if (_min == _max) { _min = array[i+1]; } if (_min < min) { min = _min; } if (_max > max) { max = _max; } i +=2; } printf("min == %d max == %d\n",min,max); }int main(int argc, char const *argv[]){ int a[10] = {2,7,1,9,4,1,4,78,9,100}; fintmin_max(a,10); return 0;}
写的好难看
死磕==同时找出数组中得最大值和最小值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。