본문 바로가기
Computer Science/Data Structure

스택 큐 자료구조 구현

by 데이터현 2021. 12. 12.
class Stack:
    def __init__(self):
        self.items = [] # 데이터 저장을 위한 리스트 준비

    def push(self, val):
        self.items.append(val)

    def pop(self):
        try:
            return self.items.pop()
        except IndexError: # IndexError가 발생했다면
            print("Stack is empty")
    
    def top(self): # 맨 위의 값을 출력
        try:
            return self.items[-1]
        except IndexError:
            print("Stack is empty")
    
    def __len__(self): # len()로 호출하면 stack의 item 수 반환
        return len(self.items)


class Queue:
    def __init__(self):
        self.items = [] # 빈 리스트
        self.front_index = 0
    def enqueue(self, val):
        self.items.append(val)
    def dequeue(self):
        if self.front_index == len(self.items):
            print("Queue is empty")
            return None
        else:
            x = self.items[self.front_index]
            self.front_index += 1
            return x

'Computer Science > Data Structure' 카테고리의 다른 글

해시 테이블 - collision resolution method  (0) 2021.12.31
해시 테이블  (0) 2021.12.29
양방향 연결 리스트 구현  (0) 2021.12.28
단방향 연결 리스트 구현  (0) 2021.12.13
자료구조와 알고리즘  (0) 2021.12.08

댓글