Stacks

Neue Frage »

Auf diesen Beitrag antworten »
we Stacks

Aufgabe

In einem Güterbahnhof befindet sich eine Weiche zu drei Gleisen, die Sackkgasse sind. Auf den Gleisen G und H befinden sich 2 Züge mit Waggons für die Zielbahnhöfe A und B. Gleis I sei leer. Diese Situation hat folgende Abbildung

------------------------------------------ I
----------AAB--------------------------G
---------BABA------------------------H


Betrachten Sie im folgenden G, H und I als Stacks. Auf G und H stehen zwei beliebige Züge aus insgesamt n Waggons für die Zielbahnhöfe A und B. Geben Sie einen Algorithumus an, der diese Züge derart umordnet, dass anschliessend auf G alle Waggons für A und auf H alle Waggons für B stehen. Verwenden Sie ausser Kontrollstrukturen lediglich die Stackoperationen push, pop,top, isEmpty. Bechten Sie das Ihr Algorithmus nicht mehr als 2n Verschiebungen durchführen darf.



Mein Ansatz:

algorithm bahnhof(L;G;H :list) : list;

if isEmpty(L) then return G
else if isEmpty(G) then return H

while(n< 2*n) do
if top(G) = A goto next(G)

if next(G) = B
then push (next(g),top(H)) go to next (H)

while(n<2*n) do
if next(H) = A
push(next(H),top(G)
else go to next(H)



habe ich alle Fäle abgedeckt und gibt es Fehler?
 
 
Neue Frage »
Antworten »


Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »