2011-06-18 71 views
-1

這是什麼算法?它可以完成沒有幫助/靜態變量?兩種方法比較/匹配所有元素的算法

+1

這個算法應該做什麼?據我可以看到它只增加「測試」,直到ints.length,並且永遠不會調用匹配(..) – radiospiel

+0

不是'測試'與'i'相同。那種情況下,「時間」會完成嗎? –

+0

@radiospiel,ups你是對的:-) – lisak

回答

2

使用兩個「for」循環。假設你不需要對自己比較元素,而你只需要圍繞測試每對的一種方式,而不是兩種方式:

for (int i = 1; i < ints.length; ++i) { 
    for (int j = 0; j < i; ++j) { 
     match(ints[i], ints[j]); 
    } 
} 

如果希望所有對左右逢源,只是改變j < ij < ints.length。如果您希望雙向配對,不包括自我比較,請在內部循環中添加if (i != j),或者執行一個從0到i-1的內部循環,另一個從i+1ints.length

+0

謝謝史蒂夫,我只使用嵌套循環多維數組,我完全排除這一點。 – lisak