作者vencil (vencs)
看板java
标题Re: [问题]传入物件的修改方式
时间Fri Aug 21 19:05:57 2009
修改过後的程式码
private static void QuickSortWork(ICanCompare[] objs, int left, int
right){
if((right - left) >= 2){ //问题点之一
ICanCompare pivot = objs[right];
int i = left - 1;
int j = right;
ShortLoop : for(;;){
while(objs[++i].Compare(pivot) > 0); //问题点之二
while(objs[--j].Compare(pivot) < 0); //同上
if(i < j){
ICanCompare temp = objs[i];
objs[i] = objs[j];
objs[j] = temp;
}
else break ShortLoop;
}
ICanCompare temp = pivot;
pivot = objs[i];
objs[i] = temp;
QuickSortWork(objs, left, i - 1);
QuickSortWork(objs, i + 1, right);
}
}
while部分的问题之前就有前辈提出来了
只不过因为还有前面关於长度部分的问题
让exception的说明还是一样,所以让之前昏头的我想说应该不是这边的问题
对於提出来说明的大家致上谢意
另外我还想问的问题就是
private static Distance newDistance(Distance a){
a = new Distance(a.getD() - 1);
return a;
}
像上述的程式码这样,对於物件的修改要怎麽样才会产生或不产生影响?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.135.18