数据结构——算法之(041)(寻找数组中的最大值和最小值)

【申明:本文仅限于自我归纳总结和相互交流。有纰漏还望各位指出。

联系邮箱: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);
}


posted @ 2016-03-01 10:49  mfrbuaa  阅读(966)  评论(0编辑  收藏  举报