< 배열로 구현한 큐 >
#include <iostream>
#include <string>
const int MX = 1000005;
int dat[MX];
int head = 0, tail = 0;
void push(int x) {
dat[tail] = x;
tail++;
}
void pop() {
head++;
}
int front() {
return dat[head];
}
int back() {
return dat[tail - 1];
}
void test() {
push(10); push(20); push(30);
std::cout << front() << '\n'; // 10
std::cout << back() << '\n'; // 30
pop(); pop();
push(15); push(25);
std::cout << front() << '\n'; // 30
std::cout << back() << '\n'; // 25
}
int main()
{
test();
}
< 원형큐로 구현 >
#include <iostream>
#include <string>
const int MX = 100;
int dat[MX];
int head = 0, tail = 0;
void push(int x) {
dat[tail] = x;
tail = (tail + 1) % MX;
}
void pop() {
head = (head + 1) % MX;
}
int front() {
return dat[head];
}
int back() {
return dat[(tail - 1) % MX];
}
void test() {
push(10); push(20); push(30);
std::cout << front() << '\n'; // 10
std::cout << back() << '\n'; // 30
pop(); pop();
push(15); push(25);
std::cout << front() << '\n'; // 30
std::cout << back() << '\n'; // 25
}
int main()
{
test();
}
< 참고자료 >
[실전 알고리즘] 0x06강 - 큐
안녕하세요, 바킹독입니다. 이번 시간에는 큐를 배워보겠습니다. 저번 단원에서 배운 스택이랑 이번에 배울 큐랑은 좀 비슷한게 많습니다. 그래서 전 단원을 잘 이해하고 왔다면 이번 단원도 수
blog.encrypted.gg
'CS > C++' 카테고리의 다른 글
| C++ Deque VS Vector (0) | 2023.07.12 |
|---|---|
| C++로 덱 구현 (0) | 2023.07.11 |
| C++로 스택 구현 / STL stack (0) | 2023.07.11 |
| vector 관련 정리 (0) | 2023.07.10 |
| C++ 입력받기 (1) | 2023.07.09 |