큐 (Queue)
👑 큐(Queue)란?
한쪽 끝에서 원소를 넣고 반대쪽 끝에서 원소를 뺄 수 있는 자료구조이다.
먼저 넣은 원소가 먼저 나오는 FIFO(First In First Out) 구조이며, 먼저 들어간 원소가 나중에
나오는 스택과는 반대되는 개념의 자료구조이다.
💡 큐의 성질
-
원소의 추가/제거가
O(1)시간이 걸린다. -
rear,front의 원소 확인에O(1)시간이 걸린다. -
rear,front가 아닌 중간 원소들에 접근/갱신이 원칙적으로 불가능
💡 구현 [C++]
큐는 배열과 연결 리스트 둘 다로 구현할 수 있는데, 여기서는 배열로 구현하였다.
또한 큐를 구현할 때, 선형 큐와 원형 큐로 나눌 수 있는데, 다음은 선형 큐를 구현한 것이다.
#include <iostream>
using namespace std;
const int QUEUE_SIZE = 10;
int queue[QUEUE_SIZE];
int head = 0, tail = 0;
void push(int x) {
queue[tail++] = x;
}
void pop() {
head++;
}
int front() {
return queue[head];
}
int back() {
return queue[tail - 1];
}
Leave a comment