首页 > algorithm > 找最大值和最小值的问题

找最大值和最小值的问题

  如何在n个元素中找找到最大值和最小值?首先我想到的是,每一个元素与当前的最大值和最小值进行比较,而这样做和独立的求最大值和最小值没有什么区别。有一种方法:就是成对的处理元素,先将一对输入元素互相比较,然后把较小者与当前最小值比较,把较大者于当前最大值比较,因此每个元素需要3次比较。这样比较次数至多是3(n/2)。
#include<stdio.h>
int main()
{
int a[]={5,47,95,9,1,2,68,66,1,86,415,22,621,8,3,5,58};
int i,max=a[0],min=a[0];
for(i=1;i<=17-2;i+=2)
{
if(a[i]<a[i+1])
{
if(maxa[i])min=a[i];
}
else
{
if(maxa[i+1])min=a[i+1];
}
}
printf(“Max=%d,Min=%d\n”,max,min);
return 0;
}

  1. Miguelina 9月 3rd, 2012 @ 07:26 | #1

    Wow! Great to find a post knokcnig my socks off!

评论提交中, 请稍候...

留言


可以使用的标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks