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.