CJGlandor Ответов: 2

Как я могу взять стопку слева направо справа налево в stack.cpp-что?


Тот самый stack.cpp это обычный файл с push, peek, pop и так далее.

Что я уже пробовал:

Мне нужна помощь в том, чтобы знать, как изменить код в Stack.cpp (который является стандартным стеком), поэтому он реализует стек таким образом, что он заполняет массив справа налево

Richard Deeming

Удаление содержимого вашего вопроса после того, как на него был дан ответ, - это чрезвычайно грубый.

CPallini

Почему бы вам не отправить сообщение Stack.cpp код?

2 Ответов

Рейтинг:
5

Patrice T

Цитата:
Мне нужна помощь в том, чтобы знать, как изменить код в Stack.cpp (который является стандартным стеком), поэтому он реализует стек таким образом, что он заполняет массив справа налево

Совет: никогда не делайте этого. Stack.cpp оптимизирован, чтобы быть эффективным, как это делается.
Я не знаю, что вам нужно, но чтение стека в обратном порядке не является проблемой.
скорее, чем :
for (i = Stack.bottom; i <= Stack.top; i++) {
    // do stuff
    }

вам нужно поменять местами значения :
for (i = Stack.top; i >= Stack.bottom; i--) {
    // do stuff
    }

Этот код просто иллюстрирует принцип.


Рейтинг:
12

Greg Utas

Я не совсем понимаю, что вы имеете в виду, заполняя массив "справа налево". Я предполагаю, что это означает в обратном порядке, и в этом случае top начнем с того, что SIZE стека и проложить свой путь вниз до 0, причем стек будет полон, когда он достигнет -1.


Greg Utas

Вам просто нужно перевернуть все: + становится - и наоборот, ++ становится-и наоборот, -1 становится размером и наоборот...