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

时间:2014-01-18 16:58:20

标签: c algorithm

实施例

说我有一个数组:

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

如何遍历数组并打印每个最大值的值和位置?

所以它会打印

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

我无法为其创建算法。

3 个答案:

答案 0 :(得分:2)

1)迭代数组中的所有值以找到MAX值

2)如果当前值== MAX值

,再次迭代打印位置

答案 1 :(得分:2)

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

答案 2 :(得分: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);