首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >气泡排序没有排序

气泡排序没有排序
EN

Stack Overflow用户
提问于 2021-11-01 05:19:26
回答 2查看 114关注 0票数 3

我试着做泡泡排序,但我仍然是初学者,我没有发现任何错误,但当我试图按字母排序时,它没有排序数组。

代码语言:javascript
复制
public class Main  {

    public static void bubblesort ( String [] name) {
        String tempmemory = " na";

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

                if (name[j].compareTo(name[j + 1]) < 0)

                    tempmemory = name[j];
                name[j] = name[j + 1];
                name[j + 1] = tempmemory;
            }
        }
    }

    public static void main ( String [] args) {

        String [] name  = { "ciku", "eman","aina"} ;

        int i=0;

        System.out.println(" Before sort : ");
        while (i < name.length)
        {
            System.out.print ( name[i] + "  ");

            i++;
        }

        bubblesort(name);

        i=0;
        System.out.println(" \n After sort : ");
        while (i < name.length)
        {
            System.out.print ( name[i] + "  ");

            i++;
        }

}


}

如何修复此代码以使用气泡排序对数组进行正确排序?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-11-01 05:30:58

您的if条件应该包括这3条语句,现在它下面只有一条语句,即tempmemory = namej;。因此,如果有多个语句,则对if条件使用{}括号。因此,请写如下的if语句:

代码语言:javascript
复制
if (name[j].compareTo(name[j + 1]) < 0) {
    tempmemory = name[j];   
    name[j] = name[j + 1];
    name[j + 1] = tempmemory; 
}
票数 3
EN

Stack Overflow用户

发布于 2021-11-01 05:27:45

这段代码:

代码语言:javascript
复制
            if (name[j].compareTo(name[j + 1]) < 0)

                tempmemory = name[j];
            name[j] = name[j + 1];
            name[j + 1] = tempmemory;

显然是错的。

提示:使用{}修复它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69792888

复制
相关文章

相似问题

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