Dieses Programm ist für die Auflistung von 10 Studenten und ihre Noten. Dann möchte ich es mit Bubble sort sortieren. Hier tritt das Problem auf. Die Marken werden sortiert. Aber der Name ist immer noch am selben Ort. Nach dem Sortieren bleibt der Name an der gleichen Stelle und die Marken werden in aufsteigender Reihenfolge verschoben.Bubble Sorting Strings
public class StudentResult {
public static void main(String [] args) {
String names[] = { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" };
int marks[] = { 100, 20, 30, 40, 50, 60, 32, 80, 90, 10 };
System.out.println("Students Marks");
System.out.println("____________________________");
for (int i = 0; i < names.length; i++)
System.out.println(names[i] + " - " + marks[i]);
bubbleSort(marks, names);
System.out.println("\n\n\nSorted List\n\n");
System.out.println("Students Marks");
System.out.println("____________________________");
for(int i = 0; i < marks.length; i++)
System.out.println(names[i] + " - " + marks[i]);
}
static void bubbleSort(int[] marks, String[] names) {
int n = marks.length;
int m = names.length;
int temp = 0;
for(int i=0; i < n; i++){
for(int j=1; j < (n-i); j++){
if(marks[j-1] > marks[j]){
//swap elements
temp = marks[j-1];
marks[j-1] = marks[j];
marks[j] = temp;
}
}
}
}
}
schreiben eine Klasse *** Student *** mit den Attributen *** name, mark ***, nimm ein Sortierkriterium mit, benutze getters .... –
Tausche Namen, wenn du Marken tauscht ... –