Hey Leute ich brauch ma eure Hilfe, wir sollen MergeSort implementieren mit der Verwendung einer eigenen Klasse(einfach verkettete liste), die wir implementiert haben und die folgende Methoden hat:
Den MergeSort algorithmus verstehe ich, aber das auf Listen anzuwenden, bereitet mir Schwierigkeiten, ich weiß nicht so recht, wie ich die liste halbieren soll , mir fehlt da irgendwie der Ansatz.
Java:
public class Daten {
DatenSatz kopf = new DatenSatz(1000000002);
DatenSatz ende= new DatenSatz(1000000001);
public Daten(){
kopf.setNext(ende);
ende.setNext(null);
}
void vornanhängen(int k){
DatenSatz neu = new DatenSatz(k);
neu.setNext(kopf);// neu.next bekommt die referenz von kopf
kopf=neu;
}
void deletefirst(){// löscht erstes element der liste
kopf=kopf.getNext();
}
public void ausgeben(){ // gibt komplette liste aus
DatenSatz aktuell= kopf;
while(aktuell!=null){
System.out.println(aktuell.lieferWert());
aktuell=aktuell.getNext();
}
}
void hintenanhängen(int j){ // hängt ein element ans ende der liste
DatenSatz neu = new DatenSatz(j);
DatenSatz help=neu;
neu=kopf;
while(neu.getNext()!=null){
neu=neu.getNext();
}
ende.setNext(help);
ende=help;
}
void listeerstellen(int anzahl){
for(int i=0;i<anzahl-2;i++){
int jo =( int)((Math.random()*100)+1);
hintenanhängen(jo);
}
}
Den MergeSort algorithmus verstehe ich, aber das auf Listen anzuwenden, bereitet mir Schwierigkeiten, ich weiß nicht so recht, wie ich die liste halbieren soll , mir fehlt da irgendwie der Ansatz.