嗨我不熟悉算法,所以我要求幫助這個簡單的比較。所以我有兩個大小爲N的unsigned int數組,我需要比較哪一個更大。我比較的是我從左邊的元素開始,如果A [i]大於B [i],那麼A array> B array.if它們是相等的,我比較A [i + 1]和B [i + 1]。一個強有力的方式是:如何寫一個更清潔的比較
BOOL checkArray(int[] A, int[] B) {
for(i=0; i< N; i ++){
if (A[i] > B[i]) {
return TRUE;
}else if (A[i] == B[i]) {
continue;
} else { \\ A[i] < B[i]
return FALSE;
}
}
}
請告知是否有更好的方法來實現這一點。非常感謝 !!!
我認爲這是確定。但是在for循環結束時需要一個'return(EQUAL)'(當所有的A [i]都等於B [i])。 –
根據你想要的結果,沒有更有效的方法來做到這一點。你將不得不通過索引來比較索引,這將使算法O(n) –
@ypercube我相信你的意思是返回FALSE而不是等於:)並且當然你要確保我已經聲明瞭變量i一個int在某處...... – Jimmy