作者ZardLoving (fatlimeow)
看板java
標題[問題] 有關插入陣列時的問題
時間Tue May 1 16:29:54 2012
各位版大好:
今天練習寫個插入排序時 明明知道有矩陣溢位的問題
但就是眼殘看不出@@ 不知是否能麻煩指教(拜)
//在i的位置插入x值 i後數字往後一格 所以複製一個newArray比原本多一格
void array_insertion(int array[],int n,int i,int x) {
int k;
int newArray[] = new int[n+1];
System.arraycopy(array, 0, newArray, 0, n);
/*
for(int j=0; j<newArray.length; j++)
System.out.println(newArray[j]);
*/
for(k=n;k>=i;k--)
newArray[k+1] = newArray[k];
newArray[i] = x;
//print out
System.out.println("在第"+i+"個位置上插入"+x);
for(int j=0; j<newArray.length; j++)
System.out.println(newArray[j]);
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.224.183
→ ZardLoving:問題發生在newArray[k+1] = newArray[k]; 錯誤訊息是: 05/01 16:30
→ ZardLoving: java.lang.ArrayIndexOutOfBoundsException: 5 05/01 16:32
※ 編輯: ZardLoving 來自: 60.251.224.183 (05/01 16:33)
→ cyberwizard:迴圈初始 k = n -1 0-base.... 05/01 16:36
→ ZardLoving:感謝回答!! 只注意上面沒注意初始值@@ 真的眼殘 05/01 16:39