2012-01-20 3 views
0

이 과제를 수행하고 있습니다.스택의 값을 다른 스택에 할당하십시오.

초기화하지 않고 임시 스택을 만들어야합니다.

그런 다음 while 루프를 사용하여 스택 1의 항목을이 임시 스택으로 밀어 넣습니다.

는 그럼 임시 스택을 통해 걸어 다른 (중첩?) 루프를 사용하여 2

그럼 I는 스택 (1)과 동일한 2, SO2 남아 스택 설정해야 스택에 임시 스택의 항목을 추가 할 필요 변하지 않은.

+1

linkedStackType이란 무엇입니까? 왜 그냥 복사 할 수 없습니까? 이미 tmpStack에 복사 중입니다. – pezcode

+1

이 질문을 수정해야합니다. –

+0

linkedstacktype이 생성자 –

답변

2

인터페이스가 약간 어둡습니다. 거기서 시작해서 그게 너를 괴롭히는 지 알아 보자.

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 

이제 단지 추진과 함께, 팝, 그리고 IsEmptyStack, 서로 스택없이 할당 (패배의 종류 과제의 목적)와, 이럴 수있어?

+0

템플릿 무효 transferStack (linkedStackType & stack1, linkedStackType & stack2) { \t 유형 항목; linkedStackType tmpStack = stack1; (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

관련 문제