Servus,
Ich muss eine Liste von " Student " sortieren (InsertionSort) , aber ich weiß nicht was ich tun soll :
so steht in der Aufgabe :
Der Algorithmus (InsertionSort) beginnt mit einer neuen leeren Liste und fügt dabei Schritt für Schritt jeweils ein neues Element aus der zu sortierenden Liste hinzu. Beim Einfügen eines Elements wird darauf geachtet, dass die Sortierung der neuen Liste erhalten bleibt: Die neue Liste wird solange durchlaufen, bis man ein
Element findet, welches grösser als das einzufügende Element ist. Dann wird das neue Element
davor eingefügt. Findet man kein grösseres Element, dann wird das neue Element einfach an
das Ende der Liste eingefügt. Hat man alle Elemente aus der zu sortierenden Liste auf diese
Weise in die neue Liste eingefügt, so ist die Sortierung abgeschlossen.
ich habe diesen Code Implementiert :
/**********************************************************
/**********************************************************
/**********************************************************
/*********************************************************************
Kann mir jemand helfen ?
Ich muss eine Liste von " Student " sortieren (InsertionSort) , aber ich weiß nicht was ich tun soll :
so steht in der Aufgabe :
Der Algorithmus (InsertionSort) beginnt mit einer neuen leeren Liste und fügt dabei Schritt für Schritt jeweils ein neues Element aus der zu sortierenden Liste hinzu. Beim Einfügen eines Elements wird darauf geachtet, dass die Sortierung der neuen Liste erhalten bleibt: Die neue Liste wird solange durchlaufen, bis man ein
Element findet, welches grösser als das einzufügende Element ist. Dann wird das neue Element
davor eingefügt. Findet man kein grösseres Element, dann wird das neue Element einfach an
das Ende der Liste eingefügt. Hat man alle Elemente aus der zu sortierenden Liste auf diese
Weise in die neue Liste eingefügt, so ist die Sortierung abgeschlossen.
ich habe diesen Code Implementiert :
/**********************************************************
Java:
public final class Student {
String lastname = null;
String name = null;
int studentNumber;
Student (String name, String lastname, int studentNumber ) {
this.lastname = lastname;
this.name = name;
this.studentNumber = studentNumber;
}
public String toString() {
String str = null;
str = "" + Integer.toString(studentNumber);
str = name +" "+ lastname +" "+ str;
return str;
}
}
/**********************************************************
Java:
import java.util.Comparator;
public class CompareByNumber implements Comparator<Student> {
public int compare(Student s1, Student s2) {
int result = 0;
Student stu1 = (Student) s1;
Student stu2 = (Student) s2;
if (stu1.studentNumber > stu2.studentNumber) {
result = 1;
return result;
} else
if (stu1.studentNumber < stu2.studentNumber) {
result = -1;
return result;
} else {
return 0;
}
}
}
Java:
import java.util.Comparator;
public class CompareByLastname implements Comparator<Student> {
public int compare(Student s1, Student s2) {
Student stu1 = (Student) s1;
Student stu2 = (Student) s2;
int result = stu1.lastname.compareTo(stu2.lastname);
if (result == 0) {
result = stu1.name.compareTo(stu2.name);
}
return result;
}
}
/*********************************************************************
Kann mir jemand helfen ?
Zuletzt bearbeitet von einem Moderator: