2014-01-18 46 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); 
相關問題