作者Jyie ()
看板java
標題[問題] (急)迴圈不會動,我一直找不到問題,請幫我!
時間Sun Jan 11 11:25:49 2009
我目前只有學迴圈、判斷式、陣列!能不能以我現有的知識引導我!
以下程式碼是要寫"快速排序法",以16區分左半段 & 右半段,左半段排完了,右半段
還排不出來!()
以下do while是表示右半段的排序
Q:g沒有遞增,z[n+1]=37 ,請問我觀念哪出問題 or 程式碼哪裡錯了?
int z[]={5,15,16,37,52,35,41,21};
int n=2;
do{ //右半段
for(g=n+1;g<z.length;g++){ //由左向右找
if(z[n+1]<z[g]){ ※//如果z[n+1]<z[g]跳出迴圈
a1=z[g]; //沒功用,讓我好檢查數值目前多少
break;
}System.out.println("ggg "+g+" ggg");
if(g==n+1){ //如果
g=g+z.length;
}
}
for(h=7;h>n;h--){ //由右向左找
if(z[n+1]>z[h]){ //找到小的跳出迴圈
a2=z[h];
break;
}
}System.out.println("hhh "+a2+" hhh"); //個人檢查數值用
if(g>h){ //如果g位置>h位置,作交換
desk=z[h];
z[h]=z[n+1];
z[n+1]=desk;
k=h;
System.out.println("kkk "+k+" kkk");
}
else{ //如果g位置<h位置,作交換
desk=z[g];
z[g]=z[h];
z[h]=desk;
}
}while(g<h); //如果g位置<h位置,回到迴圈
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.113.67.190
→ Jyie:請問有大大能與我作即時通訊,代我完成作業? 01/11 11:27
推 slalala:PsMonkey應該要爆了 01/11 11:28
※ 編輯: Jyie 來自: 59.113.67.190 (01/11 11:43)
推 kimkao:不知道一樓的代是打錯字還是原本就是這個代! 01/11 13:24
→ Jyie:[ 代 ] 改 [ 帶 ] 01/11 13:31
推 lovexyz520:字打錯,很容易有問題喔 01/11 13:55
推 slalala:替代 帶著 01/11 15:11
推 PsMonkey:帳面上不違背作業文條款... [默] 01/11 16:00
推 Srjiang:觀念也錯很大(?) 如果告訴我為何n=2與h=7 就下一篇回你 01/12 19:51
推 Srjiang:有回就好 不用正確答案 = =+ 01/12 19:53