< 배열로 구현한 스택 >
#include <iostream>
const int MX = 1000005;
int dat[MX];
int pos = 0; // 삽입 인덱스
void push(int x) {
dat[pos] = x;
pos++;
}
void pop() {
pos--;
}
int top() {
return dat[pos - 1];
}
void test() {
push(5); push(4); push(3);
std::cout << top() << '\n'; // 3
pop(); pop();
std::cout << top() << '\n'; // 5
push(10); push(12);
std::cout << top() << '\n'; // 12
pop();
std::cout << top() << '\n'; // 10
}
int main()
{
test();
}
< STL stack >
#include <stack>을 포함해주어야 한다!
#include <iostream>
#include <stack>
int main()
{
std::stack<int> stack;
stack.push(10);
stack.push(20);
stack.push(30);
std::cout << stack.size() << '\n';
if (stack.empty()) std::cout << "stack is empty\n";
else std::cout << "stack is not empty\n";
stack.pop();
std::cout << stack.top() << '\n';
stack.pop();
std::cout << stack.top() << '\n';
stack.pop();
if (stack.empty()) std::cout << "stack is empty\n";
else std::cout << "stack is not empty\n";
std::cout << stack.top() << '\n';
return 0;
}
< 참고자료 >
[실전 알고리즘] 0x05강 - 스택
안녕하세요, 오늘은 스택을 조져보려고 합니다. 이번 시간부터 세 단원 동안 스택, 큐, 덱을 다룰건데 셋 다 비슷비슷해서 하나만 익히고 나면 전반적으로 어렵지않고, 내용 자체도 연결리스트
blog.encrypted.gg
'CS > C++' 카테고리의 다른 글
| C++로 덱 구현 (0) | 2023.07.11 |
|---|---|
| C++로 큐 구현 (0) | 2023.07.11 |
| vector 관련 정리 (0) | 2023.07.10 |
| C++ 입력받기 (1) | 2023.07.09 |
| C++에서 배열 크기 제한 (0) | 2023.07.01 |