python
stack = []
# 삽입(5) - 삽입(2) - 삽입(3) - 삭제() - 삽입(3) - 삭제
stack.append(5)
stack.append(2)
stack.append(3)
stack.pop()
stack.append(3)
stack.pop()
print(stack) #최하단 원소부터 출력
print(stack[::-1]) #최상단 원소부터 출력
선입 후출 먼저들어온 원소가 나중에 나가는 최하단 원소
c++
#include <bits/stdc++.h>
using namespace std; //:std 생략
stack<int> s; //s 배열 선언
int main(void) {
s.push(5);
s.push(2);
s.push(3);
s.pop();
s.push(3);
s.pop();
// 스택의 최상단 원소부터 출력
while (!s.empty()) { //s배열이 비어있을 때 까지
cout << s.top << " "; // s의 최상단 원소 출력
s.pop(); //s의 최상단 원소 삭제
}
}
서구권에서 대기열을 의미
선입 선출
from collections import deque
# 큐 (Queue)
queue = deque()
queue.append(5)
queue.append(2)
queue.append(3)
queue.append(7)
queue.popleft()
print(queue) #먼저 들어온 순서
queue.reverse() #역순 정렬
print(queue) # 나중에 들어온 원소부터 출력
팩토리얼
n은 스택으로 남고 재귀는 계속해서 반환됨