我有兩個排序數組arr1和arr2,我試圖將這兩個數組合併到另一個數組'output'中。 但問題是,如果第一個數組耗盡,即數組arr1被完全使用,那麼'i'的值將超過數組的長度,所以在下一次迭代時arr [i]會給出錯誤。可以做些什麼來避免這種情況?合併兩個數組時出錯
int i=0;
int j=0;
for(int k=0;k<output.length;k++) {
if(arr1[i]<arr2[j]) {
output[k]=arr1[i];
i++;
}
else{
output[k]=arr2[j];
j++;
}
}
驗證兩個陣列的長度。只有在存在的情況下才使用該值。如果(arr1.length()> i)... – Stultuske 2015-03-31 06:29:37
更改你的第一條件,如果這樣的話:'if(arr1.length()> i && arr1 [i]
2015-03-31 06:37:23
Thanx many guys它的工作:) – 2015-03-31 06:39:47