看板 java 關於我們 聯絡資訊
※ 引述《gkofay (放空~我想休學= =)》之銘言: : public static void sort(int num[]) : { : int temp; : for(int j=0;j<num.length;j++) : { : if(num[j]<num[j+1]) : { : temp=num[j]; : num[j]=num[j+1]; : num[j+1]=temp; : } : } : } 想像一下輸入1 3 2 4! length是4! if( num[j] < num[j+1] )這一行就會錯了... 跑到j = 3 (j < length 4) 的時後,j+1是4! 但你的array總共有0~3(length 4) 而你用num[4]就retrive就丟出array index out of bounds的exception : 問題(1)為什麼我run的時候到了sort函數會出現 : exception in thread "main" java.lang.ArrayIndexOut Of BoundsException:6 : at h42201.sort(h42201.java:37) : at h42201.main(h42201.java:19) : 我覺得是這行開始出問題~if(num[j]<num[j+1]) : 可是我不懂@@哪裡錯ㄌ~我之前學c++可以這樣用耶@@在java有什麼不同嗎 : 還是只是純粹我自己寫錯= = : 問題(2)他要求輸入正整數,關於正整數的設定如了用if之外 : 有沒有特殊的指令可以限定,因為用if的話~好像會寫出一長串= = : 問題(3)java有沒有像是標籤這種功能呢? : 比如說 : being: <---我在這裡標籤名稱為begin : xxxxxxxxxx : xxxxxxxxxxx : xxxxxxxxxxx : (xxx是程式內容) : ?????<-----那如果我要重後面的某一行跳回begin的標籤,指令要怎麼寫? : 不知道java是否有這個功能,我記得c++有 沒有,這不符oo的精神。 : 內容有點長!希望各位大大可以耐心指教~~感溫 最後,你這不像bubble sort啊?還是我對bubble sort認知有錯誤? 什麼sort我都看不出來!如果是bubble sort應該還少了一層迴圈 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.25.240
LawlietDo:他的bubble 是 O(n) 版 比 quick sort 還快呢XD 04/26 12:20
lookyya:O(n) ... 可以寫paper了... XD 04/26 14:54