[자료구조] - Stack

Jisung Park·2021년 5월 6일
0
  • 링크드리스트로 구현 가능
  • push, pop 시간복잡도: O(1) - amortized time complexity
class Node:
    def __init__(self, item, next_node):
        self.item = item
        self.next_node = next_node
        
class Stack:
    def __init__(self):
        self.last = None
    
    def push(self, item):
        node = Node(item, self.last)
        self.last = node
    
    def pop(self):
        if self.last is None:
            return None
        
        item = self.last.item
        self.last = self.last.next_node
        return item

stack = Stack()
stack.push(1)
stack.push(2)
stack.push(3)

for _ in range(30):
    print(stack.pop())

0개의 댓글

관련 채용 정보