Stack은 insert, remove 가능한 자료 컨테이너이다. Last in First out(LIFO) 구조를 가지고 있다.
Stack은 5개 operations을 지원한다.
push(): Insert
pop(): Remove top element, error if none
top(): Get top element; error if none
size(): Return size
empty(): Return True if empty
C++에서는 stl에 stack을 지원한다.
#include <stack>
using std::stack; // make stack accessible
stack<int> myStack; // a stack of integers
하지만 주로 vector를 이용해서 접근한다.
#include <vector>
using namespace std;
vector<type> myVector;
v.begin() //시작점 주소
v.end() //끝점 주소
v.rbegin() //reverse
v.rend()
v.at(index)]
v[index]
v.front()
v.back()
v.push_back()
v.pop_back()
v.insert()
v.erase()
v.clear()
v.resize()
v.swap()
v.empty()
v.size()
Python에는 stack이 따로 없지만 deque를 이용하면 비슷하게 사용가능하다.
링크텍스트
from collections import deque
dq = deque()
dq.append()
dq.appendleft()
d.pop()
d.popleft()
d.extend()
d.rotate(1) #reverse
d.rotate(-1) #reverse and reverse
d.clear()
d.pop()