[Python:자료구조] Stack과 Queue

froajnzd·2022년 3월 28일
0

python

목록 보기
1/8

stack/queue

  • stack/queue자료구조는 따로 있지 않아 list나 deque로 구현
  • LIFO (Last In First Out) / FIFO (First In First Out)

list 구현

init

s = [] 			#1
s = list() 		#2
s = [1, 2, 3] 	#3

push

s.append(3)

pop

# stack의 경우
s.pop() 		 #1
top = s.pop()	 #2

# queue의 경우
s.pop(0)		 #1
front = s.pop(0) #2

top

pop하지 않고 top을 가져오기만 할 경우

top = stack[-1]

접근

print(s[2])
# 2

deque 구현

양방향으로 추가/제거 가능

init

from collections import deque
q = deque([1, 2, 3])

push

q.append(3)
# 번외
# q.appendleft(3) 도 가능

pop

# stack의 경우
q.pop()

# queue의 경우
q.popleft()

접근

print(q[2])
# 2
profile
Hi I'm 열쯔엉

0개의 댓글