2014-01-18 45 views
-3

实施例如何在数组中找到最大值?

说,我的数组:

Array = (9, 1, 9, 9); 

我怎样才能循环通过阵列和打印每个最大值的值和位置?

所以它会打印

Value: 9 and Position: 0 
Value: 9 and Position: 2 
Value: 9 and Position: 3 

我无法为它创建的算法。

+0

不是这个网站一个合适的问题。 – kBisla

+4

为什么你不增加它?首先*编写一些代码,遍历列表并打印出所有的值。然后扩展你的代码来找出最大值。然后再扩展它来查找并显示这些项目的位置和值。 – JVMATL

+1

@BlueFlame这不是一个合适的问题? –

回答

2

我能想到的最简单的方法是走了过来数组一次并找到最大值,然后再次遍历数组,并在每次到达等于所找到的最大值的元素时用当前索引打印消息。

2

1)通过阵列中的所有值迭代找到MAX值

2)再次重复,以打印的位置,如果当前值== MAX值

0

下面是一个通过算法伪代码: -

list maxs; 
int maxvalue = arr[0]; 

maxs = new list(); 
maxs.append(0); 

for(int i=1;i<arr.length;i++) { 

    if(maxvalue<arr[i]) { 

     maxvalue = arr[i]; 
     maxs = new list(); 
     maxs.append(i); 
    } 

    else if(maxvalue==arr[i]) { 

     maxs.append(i); 
    } 

} 

print(maxvalue,maxs); 
相关问题