본문 바로가기
(혼) (공) (파)

자료구조-스택

by 만석이 2024. 1. 25.
class Mystack:
    def __init__(self):
        self.li = []

    def push(self, item):
        self.li.append(item)

    def pop(self):
        if not self.is_empty():
            return self.li.pop()
        else:
            return None  # 스택이 비어있을 때 pop 시도시 None 반환

    def peek(self):
        if not self.is_empty():
            return self.li[-1]
        else:
            return None  # 스택이 비어있을 때 peek 시도시 None 반환

    def is_empty(self):
        return len(self.li) == 0



# Mystack 클래스의 인스턴스 생성
stack_instance = Mystack()

# 1부터 5까지의 값을 스택에 push
for i in range(1, 6):
    stack_instance.push(i)

# 스택이 비어있지 않은 동안, 값을 출력하고 pop
while not stack_instance.is_empty():
    print(stack_instance.peek())
    stack_instance.pop()

 

1. 객체를 stack_instance  로만들어주었다.  1~5를 stack_instance.push(i)매서드를 사용해서 값을 넣어주었다.(후입선출)

    즉 stack_instance 객체 안  self.li = []에는 1,2,3,4,5 값이 들어가있다.( append () 매서드는 중요하니 외워두자)

 

2. while문을 사용해서 객체값이 비어있지않으면 맨위의값 즉 5값을 출력한다. 그후에 pop() 매서드를 이용해서 맨위의값을 삭제한다.(후입선출) 

 

3. 5번 반복하게되고 출력값은 세로로54321 이 나오게된다.

 

 

 

'(혼) (공) (파)' 카테고리의 다른 글

파이썬 컬렉션- 함수사용  (0) 2024.01.11
파이썬 - 컬렉션(함수+메서드)  (0) 2024.01.11
파이썬 - 컬렉션  (0) 2024.01.11