최대 1 분 소요

큐(Queue)

삽입과 삭제의 위치가 정해져 있지만, 리스트 한쪽 끝에는 삽입 작업만 이루어지고 반대쪽 끝에서는 삭제 작업만 이루어진다.

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;
	}
};