Du musst einfach wie Mr. Spock rein logisch und Schritt für Schritt vorgehen.
An deinem Pseudocode ist zu sehen, dass du einen Stack oder eine Queue brauchst (wg Push & Pop).
Also programmierst du dir zuerst eine Stack, Queue und/oder Double-ended-Queue Klasse
oder du bedienst dich im Internet:
easy data structures library for delphi