Hi,
da mein alter thread (zurecht) geclosed wurde, habe ich mit einem freund ein wenig angefangen, ich arbeite an lösungen für folgende fragen:
Zitat:
Betrachten Sie die Spezifikation von LIST.
1. Aufgabe
Erweitern Sie die Spezifikation um eine Funktion removeMax(l), die das größte Element einer
(nicht notwendigerweise sortierten!) Liste l liefert und aus der Liste entfernt.
2. Aufgabe
Geben Sie eine ausführbare Spezifikation für removeMax an und testen Sie diese.
3. Aufgabe
Implementieren Sie die Funktion removeMax in Pascal auf Basis einer doppelt verketteten Liste
mit Sentinel.
4. Aufgabe
Erweitern Sie Ihre Lösung von Aufgabe 3 um eine Funktion sort(l: List):List die für eine beliebige
Liste eine sortierte Liste zurückliefert. Dabei soll die ursprüngliche Liste erhalten bleiben.
hab mittendrin angefangen, und habe das hier mit nem freundausgearbeitet:
Delphi-Quellcode:
program removeMax;
uses
sentinel, crt;
var
List1, List2, List3, List4: List;
begin
List1 := insert(1, insert(2, insert(3, insert(4, insert(5, init)))));
List2 := insert(2, insert(5, insert(3, insert(1, insert(5, init)))));
List3 := insert(3, insert(3, insert(3, init)));
List4 := init;
print('List1', List1);
print('List2', List2);
print('List3', List3);
print('List4', List4);
List1 := removeMax(List1);
readln;
end.
ich habe leider atm keine möglichkeit das zu testen, könnte das jemand testen? und ist das so korrekt? ich bin atm krampfhaft am arbeiten, da ich das schaffen muss :S