首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排序方法不正确

排序方法不正确
EN

Stack Overflow用户
提问于 2019-02-02 00:38:08
回答 1查看 33关注 0票数 0

此方法应在选定后按字母顺序对给定文件中的单词进行排序。每件事都很正常,除了它没有正确地分类。输入文件是“昆杜是一个男人昆杜人”,但无论我尝试什么我得到“是,昆杜,a,人,昆杜,人”。

我试着去掉"-1“和"+1”,但这没有任何帮助。

代码语言:javascript
复制
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;
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-02 00:42:25

您的swap调用应该是在内部循环之后的。喜欢,

代码语言:javascript
复制
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;
}

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

代码语言:javascript
复制
[a, is, kundu, kundu, man, man]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54488880

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档