스택과 큐에 대해서 설명해 주세요.
스택과 큐 모두 선형 자료구조로, 배열과 연결 리스트를 사용해 구현할 수 있다.
꼬리 질문
스택으로 큐를 만들 수 있는가?
스택 2개로 큐를 만들 수 있다.
메인 스택과 서브 스택을 만든다.
메인 스택에 데이터를 모두
push
큐에서
Dequeue를 하려면 메인 스택의 데이터를 모두pop해서 서브 스택에push한다.그러면 메인 스택의 데이터들의 순서가 뒤집히게 되고, 이때 서브 스택에서
pop하면Dequeue와 같은 효과가 된다.큐의
Enqueue를 하려면 메인 스택에 데이터를 그대로push정리하면
Dequeue연산을 할 때 반대편 비어있는 스택에 모든 데이터를 옮겨 역방향으로 만든 다음, 옮겨진 스택에서pop을 하면 스택 2개로 큐를 구현할 수 있다.큐로 스택을 만들 수 있는가?
큐 2개로 스택을 만들 수 있다.
메인 큐에서 데이터를 하나씩 넣을 때 기존 메인 큐에 들어있던 데이터를
pop해서 서브 큐에push한다.서브 큐에 데이터가 들어오면 기존에 있던 데이터를
pop해서 메인 큐에push한다.모든 데이터에 대해 반복한다.
메인 큐에서 하나씩
pop을 하면 스택과 같은 형태로 데이터를 뽑을 수 있다.
Last updated