(Почему бы просто не использовать очередь?)
В основном вы используете один стек B, чтобы изменить порядок элементов в другом стеке B, выталкивая все элементы из A и помещая их в B. КогдаКогда вы закончите, первый объект, который вы получите из B, будет первым, который вы вставили в исходный A.
Если вы вставите элементы 1, 2, 3, 4
в A в следующем порядке, вы получите:
A: 1, 2, 3, 4 (top)
Сложите все и нажмите на B:
B: 4, 3, 2, 1 (top)
Если вы начнете нажимать B, вы получите в порядке:
1, 2, 3, 4
Составная операцияявляется FIFO-подобной структурой.Тем не менее, он не обладает гибкостью правильного FIFO, поскольку работает только в проходах.Это может быть полезным в коде для низкоуровневых микроконтроллеров, где реализация кучи является проблемой, но вы не должны использовать такие стеки на любом современном (то есть после 1980 года) компьютере.