牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2015-06-10 投稿人: 浏览次数:1625

【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱: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
", max, min);
}


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。