本帖最后由 小夏 于 2014-7-15 22:25 编辑
//选择排序
public static void xuanze(int enya[])
{
for (int x=0; x<enya.length-1;x++ )
{
for (int y=1; y<enya.length-x;y++ )
{
if (enya[x]>enya[y])
{
int e= enya[x];
enya[x]=enya[y];
enya[y]=e;
}
}
}
问题:内循环中 应该是 int y=1+x。如果是 int y =1的话会重复比较,不过重复比较最后应该也能正常排序的呀。可是在执行的时候我发现如果y=1的话,程序只比较0角标位的数。也就是说内循环只循环了一次,为什么只循环一次呢,有点想不通,请高手...其实也用不着高手了,我估计多数人觉得这是小儿科....可是我还是想知道:#
|
|