Stacks |
14.04.2009, 14:13 | 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? |
|
|
Verwandte Themen
Die Beliebtesten » |
Die Größten » |
Die Neuesten » |