如何实现选择排序?

时间:2015-01-11 11:37:43

标签: java

我有以下代码段..

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++;
    }
}

我不知道为什么上述算法无法正常工作。

必须修改哪些才能使其正常工作?

1 个答案:

答案 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,最好使用类aele

等类字段来输入参数