stack 2개로 queue 구현

Hyor·2023년 1월 6일

stack

stack은 선입후출 구조 first in last out 입니다.

queue

queue는 선입선출 구조 first in first out 입니다.

stack 2개로 queue 구현

간단히 생각해보면 두 구조는 반대라는 것입니다.
[1,2,3] 데이터가
stack으로 들어갔다가 나오는 순서는 [3,2,1],
queue는 [1,2,3] 입니다.

그렇다면 stack 2개를 준비하여 1번 stack은 input용, 2번 stack은 output용으로 사용하면
queue처럼 선입선출구조가 가능합니다.

예를들어
[1,2,3] 배열이 들어오면 1번 스택에 들어가고 2번 스택으로 넘기면 [3,2,1] 역순으로 들어갑니다.
이것을 2번 스택에서 꺼낼때는 다시 역순이 되니 [1,2,3]이 됩니다.

profile
개발 노트

0개의 댓글