본문/내용
I.서론
큐(Queue)와 스택(Stack)은 데이터 구조의 두 가지 기본적인 유형으로, 각각의 특성과 동작 방식이 다릅니다. 이 두 가지 구조는 주로 데이터를 저장하고 처리하는 방식에서 연산자의 이름과 위치를 기준으로 차별화된다. 큐는 `선입선출(FIFO)` 구조를 기반으로 하며, 스택은 `선입후출(LIFO)` 구조를 따릅니다. 이러한 특징은 각각의 데이터 구조가 어떻게 데이터 요소를 삽입하고 삭제하는지를 결정짓고, 이에 따른 연산자의 이름과 함수의 구현도 달라지게 된다. 스택은 사용자가 가장 최근에 추가한 데이터부터 제거할 수 있는 구조로 설계되어 있다. 일반적으로 스택의 주요 연산자로는 `push`(삽입)와 `pop`(삭제)이 있으며, 새로운 항목을 추가할 때는 항상 `맨 위`에 추가하고, 삭제할 때도 맨 위의 항목을 제거한다. 이로 인해 스택에서는 마지막으로 삽입된 데이터가 가장 먼저 삭제되는 방식으로 진행되는 것이 특징이다. 자료구조의 포인터 개념에서 볼 때, 스택은 주로 `탑` 포인터를 유지하여 현재 스택의 가장 위에 위치한 요소를 관리한다. 이 포인터는 삽입할 때마다 한 칸 증가하고, 삭제할 때마다 한 칸 감소하는 방식으로 진행된다. 반면 큐는…