2012-01-20 4 views
0

Я работаю над этим заданием.Присвоить значения стека другому стеку

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

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

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

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

+1

Что связаноStackType? И почему вы не можете просто скопировать? Вы уже копируете в tmpStack. – pezcode

+1

Мне нужно пересмотреть этот вопрос. –

+0

linkedstacktype is constructor –

ответ

2

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

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

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

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

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

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

Update: это то, что вы хотите:

|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 

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

+0

шаблон недействительным transferStack (linkedStackType & STACK1, linkedStackType & stack2) { \t типа элемента; linkedStackType tmpStack = stack1; \t while (stack1.isEmptyStack() == false) { item = stack1.top(); stack1.push (item); } tmpStack = stack1; while (stack1.isEmptyStack() == false) { \t item = stack1.top(); \t stack2.push (item); } stack1 = stack2; –

+0

как мне помещать комментарии здесь в формате кода? –

+0

@OurFamilyPage: У вас нет. Не стесняйтесь обновлять свой вопрос с помощью отправки кода, возможно, с помощью строки «Обновлено: ...» для объяснения. – ccoakley

Смежные вопросы