2010-12-05 13 views
-2

possible en double:
Invert a stack, without using extra data structures?Inverser une pile

Comment inverser une pile sans utiliser toute autre pile?

+3

Est-ce devoir? – Drakosha

+1

Besoin de plus de détails. Pouvez-vous utiliser le tas? Cherchez-vous une réponse spécifique à la langue? Si vous ne modifiez pas votre question pour être plus précis, elle risque d'être fermée. – Zeke

+0

@meager -22 pour cette question ;-) –

Répondre

-1

Si vous êtes autorisé à utiliser une file d'attente (liste FIFO), vous pouvez faire

while (stack not empty) 
    queue.enqueue(stack.pop()) 

while (queue not empty) 
    stack.push(queue.dequeue()) 
+2

Je me demande s'ils ne peuvent pas utiliser une autre pile mais ils peuvent utiliser une file d'attente! –

+0

Je crois qu'on doit * utiliser * * une autre structure de données de taille variable pour inverser une pile. – aioobe

+0

Pas toujours vrai. Considérons une pile implémentée dans/en tant que tableau. Dans ce cas, on peut simplement monter/descendre simultanément et échanger la comptabilité pour la bizarrerie du centre, le cas échéant. –