xyjzsh

同时求出最大值最小值的方法

在O(3n/2)比较后求出最大值和最小值
思想:成对的处理元素,两者较大的和max比较,两者较小的和min比较。

GetMaxAndMin(A,n)
if n为奇数
max = min = A[0];
i = 1;

else
if A[0]>A[1] then  max = A[0]; min = A[1]
else max = A[1]; min = A[0];
i =2;

for i to n-1

if(A[i]>A[i+1])
{
   max = max>A[i] ? max: A[i];
   min = A[i+1]<min ? A[i+1]:min;
}
else
{
   max = A[i+1]>max ? A[i+1]:max;
   min = A[i]<min ? A[i] : min;
}

i+=2;
   

posted on 2010-12-02 11:11 呆人 阅读(420) 评论(0)  编辑 收藏 引用 所属分类: 算法


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2010年12月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

搜索

最新评论

阅读排行榜

评论排行榜