【申明:本文仅限于自我归纳总结和相互交流。有纰漏还望各位指出。
联系邮箱:Mr_chenping@163.com】
题目:
寻找数组中的最大值和最小值
题目分析:
1、时间复杂度0(1)
算法实现:
#include <stdio.h>
void get_array_max_and_min(int *array, int array_size, int *max, int *min)
{
if(array_size < 1)
*max = *min = 0;
else if(array_size == 1)
*max = *min = array[0];
if(array[0] > array[1])
*max = array[0], *min = array[1];
else
*min = array[0], *max = array[1];
int i=2;
for(; i<array_size; ++i)
{
if(array[i] < *min)
*min = array[i];
else if(array[i] > *max)
*max = array[i];
}
}
int main()
{
int array[] = {};
//int array[] = {2, 5, 6, 9, 12, 38, 11, 9, 0, 7, 1, -2, 12};
int max, min;
get_array_max_and_min(array, sizeof(array)/sizeof(int), &max, &min);
printf("max = %d, min = %d\n", max, min);
}