精華區beta java 關於我們 聯絡資訊
各位版大好: 今天練習寫個插入排序時 明明知道有矩陣溢位的問題 但就是眼殘看不出@@ 不知是否能麻煩指教(拜) //在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