스택은 후입선출(Last-In-First-Out, LIFO)의 원칙을 따르는 자료구조입니다. 즉, 가장 나중에 들어간 데이터가 가장 먼저 나오는 형태입니다. 스택의 주요 연산에는 'push'와 'pop'이 있습니다.
Push: 스택의 최상단에 데이터를 추가하는 작업입니다.
Pop: 스택의 최상단에 있는 데이터를 삭제하는 작업으로, 데이터를 삭제하는 동시에 해당 데이터를 반환합니다.
프로그래밍에서 스택은 함수 호출, 중위표기식을 후위표기식으로 바꾸는 등 여러 가지 용도로 사용됩니다.
큐는 선입선출(First-In-First-Out, FIFO)의 원칙을 따르는 자료구조입니다. 즉, 가장 먼저 들어간 데이터가 가장 먼저 나오는 형태입니다. 큐의 주요 연산에는 'enqueue'와 'dequeue'가 있습니다.
Enqueue: 큐의 뒤쪽에 데이터를 추가하는 작업입니다.
Dequeue: 큐의 앞쪽에 있는 데이터를 삭제하는 작업으로, 데이터를 삭제하는 동시에 해당 데이터를 반환합니다.
프로그래밍에서 큐는 데이터가 순서대로 처리되어야 할 때, 작업 스케줄링 등 여러 가지 용도로 사용됩니다.
이 두 가지 자료구조는 모두 데이터의 삽입과 삭제에 관한 규칙을 가지고 있지만, 그 규칙이 서로 다르기 때문에 사용되는 상황과 목적이 다릅니다. 스택은 임시적으로 어떤 것을 저장해야 할 때, 또는 나중에 다시 확인해야 할 때 사용되며, 큐는 데이터를 순차적으로 처리해야 하는 상황에서 사용됩니다.