[알고리즘]큐 구현(백준 10845문제)
큐(Queue)
삽입과 삭제의 위치가 정해져 있지만, 리스트 한쪽 끝에는 삽입 작업만 이루어지고 반대쪽 끝에서는 삭제 작업만 이루어진다.
큐의 자료형
- push
- pop
- size
- empty
- front
- back
구현 코드
class Queue {
int arr[10000] = {};
int front = 0;
int back = 0;
public:
void push(int x) {
arr[back] = x;
back += 1;
}
void pop() {
if (front == back) {
cout << -1 << endl;
}
else {
cout << arr[front] << endl;
arr[front] = {};
front += 1;
}
}
void size() {
cout << back - front<<endl;
}
void empty() {
if (front == back) cout << 1 << endl;
else cout << 0 << endl;
}
void ffront() {
if (this->front == this->back) cout << -1 << endl;
else cout << arr[front] << endl;
}
void fback() {
if (front == back) cout << -1 << endl;
else cout << arr[back-1] << endl;
}
};