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++;
}
}
}
How can I fix this code to correctly sort an array using bubble sort?
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;
}
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With