Also dein Stack ist nicht das Gelbe vom Ei.
Ein Stack hat 3 Grundfunktionen:
Delphi-Quellcode:
procedure Push(x: Tdaten);
function Pop:TDaten;
function IsEmpty:boolean;
Deine Stackfunktionen schleppen Head und Tail als Argumente mit sich rum.
Das ist nicht gut. Head und Tail sollten für den Benutzer des Stacks unsichtbar sein.
Es gibt übrigens die Klasse TStack in der
VCL. Wenn du die benuten kannst, hast du ein Problem weniger.