我有以下代码片段。
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++;
}
}
我不知道为什么上述算法无法正常工作。
必须进行哪些修改才能使其正常工作?
修正您的代码
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
的insdead j
,并最好有输入PARAMS而不是使用类领域,如a
和ele
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句