Stack

박종연·2022년 4월 19일
0

자료구조

목록 보기
1/2

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++

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

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()
profile
eat.sleep.code

0개의 댓글

관련 채용 정보