Присвоить значения стека другому стеку - PullRequest
0 голосов
/ 21 января 2012

Я работаю над этим заданием.

Мне нужно создать временный стек без его инициализации.

Затем поместите элементы стека 1 в этот временный стек, используя цикл while.

Затем мне нужно использовать другой (вложенный?) Цикл для обхода временного стека и добавления элементов из временного стека в стек 2.

Затем мне нужно установить одинаковые стеки 1 и 2, чтобы стек 2 оставался неизменным.

1 Ответ

2 голосов
/ 21 января 2012

Ваши интерфейсы выглядят немного не так. Давай начнем с этого и посмотрим, не приведет ли это к твоему горбу.

stack.top() обычно заглядывает в предмет, но не удаляет его. Это не кажется полезным для переноса из одного стека в пыльник. У вас уже есть isEmptyStack (), чтобы проверить, что верхний элемент существует.

stack.pop() обычно берет верхний предмет из стека. Это звучит полезно для передачи.

stack.push(item) помещает предмет на вершину стека. Это звучит полезно для передачи.

stack.push() просто кажется неправильным. Нажмите что?

Надеемся, что после того, как вы реализуете эти методы, все остальное станет понятным из предоставленного вами описания проблемы на английском языке.

Обновление: это то, что вы хотите:

|a  |   |     |   |   |     |   |   |     |   |c  |
|b  |   |     |b  |   |     |   |b  |     |   |b  |
|c  |   |     |c  |a  |     |c  |a  |     |   |a  |
1   tmp 2     1   tmp 2     1   tmp 2     1   tmp 2

|   |   |     |   |   |     |   |   |a
|   |b  |     |   |   |b    |   |   |b
|   |a  |c    |   |a  |c    |   |   |c
1   tmp 2     1   tmp 2     1   tmp 2 

Теперь, с помощью всего лишь push, pop и IsEmptyStack, без назначения стеков друг другу (что-то вроде поражения цели назначения), вы можете сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...