Gast
#1130252
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
Die Methode sortiert eine Liste. Zuert wird eine neue Liste "sorted" erstellt und dann werden nach und nach aus der alten Liste "list" die kleinsten Objekte der Klasse "Fraction" rausgenommen und an "sorted" drangehöngt. Zum Schluß bekommt "list" die Referenz von "sorted". Die Testausgaben x1 = 0, x2 = 7 und x3 = 7 sind bei einer Beispielliste der Länge 7 korrekt. Die Liste "list" ist ja am Ende leer, da ich mit der Methode Fraction.takeMin(list) alle Objekte rausgenommen habe. Wenn ich nun diese Methode von irgendwo anders aufrufe, bekomme ich eine Liste der Länge 0 zurück. Ich kann mir das gar nicht erklären. Was passiert da? Ganz am Ende der Methode hat die Liste noch die Länge 7 und gleich danach 0. Merkwürdig ...