程 序 人 生

[每个人都是工程师,书写着属于自己的人生代码!--林海]
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

C#递规与分治策略

Posted on 2006-05-07 14:45  林海  阅读(470)  评论(0编辑  收藏  举报
新建网页 1

用递规与分治策略,找出数组中最大元素的位置。就问题本身而言,很简单,并且有很多种更高效的实现方法,
本文意在介绍递规与分治的思想。

源代码:

/**
*用分治法找出数组中最大元素的位置
*/
public class MaxPosition
{
static int MaxElePosition(int[] a, int l,int r)
{
if(l < r)
{
int mid = (l+r)/2;
int x = MaxElePosition(a, l, mid);
int y = MaxElePosition(a, mid+1, r);
if(a[x] >= a[y])
return x;
else return y;

}
return l;
}
public static void main(String[] args)
{

int a[] = {12,48,45,2,100,9,56,10,101};
System.out.println(MaxElePosition(a, 0, 8));
}
}