큐 스택을 사용하여 [6-

제목 설명

두 스택 큐, 완료 큐 푸시 팝 작업을 달성했다. 큐 요소 int입니다.
시간 제한 : C / C ++ 일초, 이초 언어, 다른
공간의 제한 : C / C ++ 32M, 64M 다른 언어

문제 해결 아이디어

스택 기능 : 후 고급
큐 : FIFO가
, 때마다 스택입니다 스택 큐를 사용, 스택은 중간 스택의 도입을 쉽게 구현 될 수있는 요소의 순서를 취소 할 수 있습니다.
두 스택 (AN 인큐하는 디큐)
스택에 원소 A : 인큐 동작
디큐 동작 1. 소자 스택 팝업 차례로 적층 2에 밀어되도록 적층 한 스택 뜻 하단 그것은 스택 2의 스택 상단, 2 스택이 다시 쌓아되었다.
* 참고, 팀 중 논리의 법칙, 스택이 부어 요소 1 스택, 우리는 먼저 스택이 비어 확인해야합니다.

근원

class Solution
{
public:
    void push(int node) {
        stack1.push(node);
    }

    int pop() {
        int val;
        if(stack2.empty())
        {
            int k;
            while(!stack1.empty())
            {
                k=stack1.top();
                stack2.push(k);
                stack1.pop();
            }
        }
        val=stack2.top();
        stack2.pop();
        return val;
    }

private:
    stack<int> stack1;
    stack<int> stack2;
};

보충

C ++ 스택의 원래 방법의 기본적인 사용법 :

  • () 밀 : 내측 부재를 밀어 스택;
  • ) (POP : 스택에서 팝의 부재;
  • ) (빈 : 스택이 진정한 빈 반환하는 경우, 그렇지 않으면 false를 반환;
  • 정상은 () : 스택의 상단을 반환하지만 구성원을 제거하지 않는다;
  • 크기 () : 스택 엘리먼트의 크기를 리턴;

그 팝업을 정의 할 때 C ++ 스택 () 팝업 회원이 직접 그 가치를 얻을 수 없습니다, 당신은 () 팝업 팝업, 상단 ()와 스택의 상단을 얻을 필요가있다.

게시 24 개 원래 기사 · 원의 칭찬 0 · 조회수 2046

추천

출처blog.csdn.net/weixin_44849403/article/details/104116046