< 배열로 덱 구현 >
#include <iostream>
const int MX = 1000005;
int dat[2 * MX + 1];
int head = MX, tail = MX;
void push_front(int x) {
head--;
dat[head] = x;
}
void push_back(int x) {
dat[tail] = x;
tail++;
}
void pop_front() {
head++;
}
void pop_back() {
tail--;
}
int front() {
return dat[head];
}
int back() {
return dat[tail - 1];
}
void test() {
push_back(30); // 30
std::cout << front() << '\n'; // 30
std::cout << back() << '\n'; // 30
push_front(25); // 25 30
push_back(12); // 25 30 12
std::cout << back() << '\n'; // 12
push_back(62); // 25 30 12 62
pop_front(); // 30 12 62
std::cout << front() << '\n'; // 30
pop_front(); // 12 62
std::cout << back() << '\n'; // 62
}
int main()
{
test();
}
< 참고 자료 >
[실전 알고리즘] 0x07강 - 덱
안녕하세요, 오늘도 반갑습니다. 스택과 큐에 이어 이번에는 덱을 다루겠습니다. 목차가 0x02만 바뀌고 계속 똑같습니다. 한 번 눈으로 슥 훑고 넘어가겠습니다. 덱은 Restricted Structure의 끝판왕과
blog.encrypted.gg
'CS > C++' 카테고리의 다른 글
| [C++] Vector VS List (0) | 2023.07.20 |
|---|---|
| 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 |