한쪽 끝으로만 자료를 넣고 뺄 수 있는 자료구조
먼저 넣은 자료는 늦게 나오고 마지막에 넣은 자료가 빨리나온다
(Last In First Out)
넣은 순서를 기억하고 싶을 때 사용한다.
class Node:
def __init__(self,val,next):
self.val = val
self.next = next
class Stack:
def __init__(self):
self.top = None
self.size = 0
def push(self,val):
self.top = Node(val,self.top)
self.size += 1
def pop(self):
pop = self.top.val
self.top = self.top.next ##top을 self.top.next로 바꿔줌
self.size -= 1
return pop