为了账号安全,请及时绑定邮箱和手机立即绑定

排序方法未正确排序

排序方法未正确排序

BIG阳 2022-06-04 11:07:41
此方法应该在选定文件后按字母顺序对给定文件中的单词进行排序。一切正常,只是没有正确排序。输入文件显示“kundu is a man kundu man”,但无论我尝试什么,我都会得到“[is, kundu, a, man, kundu, man]”。我试着拿走“-1”和“+1”,但这无济于事。private String[] selectionSort(String[] stringArray){    for(int j = 0; j < stringArray.length - 1; j++)    {        int min = j;        for(int k = j + 1; k < stringArray.length; k++)        {            if(stringArray[k].compareTo(stringArray[min]) < 0)                min = k;            swap(stringArray, j, min); //this method swaps the words                                        // by using a temp            //swap(intArray, j, min);        }    }    return stringArray;}private void swap(String [] stringArray, int i, int j) //swap method{     String temp = stringArray[i];     stringArray[i] = stringArray [j];     stringArray[j] = temp;}
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您的swap电话应该在内部循环之后。喜欢,


private String[] selectionSort(String[] stringArray) {

    for (int j = 0; j < stringArray.length - 1; j++) {

        int min = j;

        for (int k = j + 1; k < stringArray.length; k++) {

            if (stringArray[k].compareTo(stringArray[min]) < 0) {

                min = k;

            }

        }

        swap(stringArray, j, min);

    }

    return stringArray;

}

之后,没有其他更改和您的输入,我得到


[a, is, kundu, kundu, man, man]


查看完整回答
反对 回复 2022-06-04
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信