Home > Software engineering >  Bubble sort didnt sort
Bubble sort didnt sort

Time:11-01

I tried to do bubble sort and still a beginner, I didn't find any errors but when I tried to sort it alphabetically it didn't sort the array.

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

}

}

CodePudding user response:

Your if condition should include those 3 statements, right now it only have one statement under it i.e tempmemory = name[j];. So use {} bracket for if condition if it has multiple statement. So write if statement like this:

if (name[j].compareTo(name[j   1]) < 0) 
 { tempmemory = name[j];   
   name[j] = name[j   1];
   name[j   1] = tempmemory; }

CodePudding user response:

This chunk of code:

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

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

is obviously wrong.

Hint: use { and } to fix it.

  • Related