我有以下代码段..
public void selsort()
{
int j=0,i,k; int low;
for(k = 0; k < ele; k++)
{
for(i = j;i < ele; i++)
if(a[i] < a[i+1])
low = i;
if(i!=j)
{
long temp=a[j];
a[j]=a[i];
a[i]=temp;
}
j++;
}
}
我不知道为什么上述算法无法正常工作。
必须修改哪些才能使其正常工作?
答案 0 :(得分:0)
修正了您的代码
public void selsort() {
int j = 0, i, k;
int low;
for (k = 0; k < ele; k++) {
low = j;
for (i = j; i < ele; i++)
if (a[i] < a[low]) {
low = i;
}
if (j != low) {
int temp = a[j];
a[j] = a[low];
a[low] = temp;
}
j++;
}
}
但可以使用k
代替j
,最好使用类a
和ele