Joa, dann benutze sowohl meine PUSH als auch meine POP Funktion.
Hier nochmal:
Delphi-Quellcode:
PROCEDURE push(VAR zkopf:tzeiger;inhalt:Char);
var zhilf:tzeiger;
BEGIN
new(zhilf);
zhilf^.inhalt:=inhalt;
zhilf^.next:=zkopf;
zkopf:=zhilf
END;
FUNCTION pop(VAR zkopf:tzeiger):char;
BEGIN
result:=zkopf^.inhalt;
zkopf := zkopf^.next
END;
Damit klappt es genau so, wie du es möchtest. Garantiert
Und beides in der Laufzeit O(1), also in konst. Laufzeit. Besser gehts nicht.