-
큐알고리즘 스터디 01/강의 정리 2022. 11. 21. 14:18
원소를 담을 배열이랑 HEAD , TAIL
head = index / tail = end
큐를 배열로 구현하면 앞쪽에 자꾸 빈 자리가 생김
이를 해결하기 위해 head나 tail이 배열의 끝이면 다시 배열의 처음으로 돌아오도록 하면 됨
= > 원형 큐
코테에서는 어차피 oush 최대 횟수가 정해져 있어서
배열을 엄청 크게 만들어서 원형큐를 사용하지 않을 수 있음배열로 구현한 큐
#include <iostream> using namespace std; const int MX = 1000005; int dat[MX]; int head = 0, tail = 0; void push(int x) { dat[tail] = x; tail++; } void pop() { // 이거 아님 tail--; head++; } int front() { // 이거 아님 return dat[head++]; return dat[head]; } int back() { return dat[tail - 1]; } void test() { push(10); push(20); push(30); cout << front() << '\n'; // 10 cout << back() << '\n'; // 30 pop(); pop(); push(15); push(25); cout << front() << '\n'; // 30 cout << back() << '\n'; // 25 } int main(void) { test(); }
'알고리즘 스터디 01 > 강의 정리' 카테고리의 다른 글
스택의 활용 ( 수식의 괄호쌍 ) (0) 2022.11.21 덱 (1) 2022.11.21 스택 (0) 2022.11.21 연결리스트 (0) 2022.11.21 배열 (0) 2022.11.21