자료구조/Queue2 [깡구현] QUEUE_2 문제: https://www.acmicpc.net/problem/10845 값을 넣을 때는 r (=rear)을 사용합니다. 값을 뺄 때는 f (=front)을 사용합니다. 큐가 비어있는 조건은 front == rear 일 때 입니다. #define QUEUE_SIZE 100001 typedef struct QUEUE { int Q[QUEUE_SIZE]; int f, r, sz; QUEUE() { f = r = sz = 0; } bool empty() { return (f == r); } int front() { if (empty()) return -1; else return Q[f]; } int back() { if (empty()) return -1; else return Q[(r-1 + QUEUE_S.. 2020. 5. 16. [깡구현] QUEUE 문제: https://swexpertacademy.com/main/code/problem/problemSolverCodeDetail.do> #define QUEUE_SIZE 1001 struct Queue { //h(head): POP할 때 마다 갱신, t(tail): PUSH할 때 마다 갱신 int q[QUEUE_SIZE], h = 0, t = 0, sz = 0; int front() const { return q[h]; } void pop() { h = (h + 1) % QUEUE_SIZE; sz--; } void push(int d) { q[t] = d; t = (t + 1) % QUEUE_SIZE; sz++; } int size() const { return sz; } bool empty() co.. 2020. 3. 4. 이전 1 다음