반응형
스택은 새로운 아이템의 추가와 존재하는 아이템의 삭제가 동일한 위치에서 발생한다.
가장 최근에 추가된 아이템은 가장 먼저 제거 될 수 있다. 이것을 Last In First Out -
LIFO
라고 한다.실생활에서 스택의 예시를 많이 찾아볼 수 있다.
스택은 아이템의 삽입 순서가 제거 순서와 반대이다.
class Stack:
def __init__(self):
'''
스택을 초기화 - 빈 리스트로 초기화 한다.
'''
self.stack = []
def isEmpty(self):
'''
스택의 길이가 0 인지를 확인한다.
'''
return len(self.stack) == 0
def push(self, item):
'''
스택의 마지막에 item을 추가한다.
'''
self.stack.append(item)
def pop(self):
'''
스택의 마지막 아이템을 제거한다.
'''
return self.stack.pop()
def peek(self):
'''
스택의 마지막에 있는 아이템을 출력한다.
'''
return self.stack[len(self.stack) - 1]
def size(self):
'''
스택의 길이를 출력한다.
'''
return len(self.stack)
반응형
'Legacy(~18.10) > 컴퓨터공학' 카테고리의 다른 글
[Data Structure] Hashing - 이론 (0) | 2018.09.10 |
---|---|
[Data Structure] Deque - 이론 && ADT (0) | 2018.09.10 |
[Data Structure] Queue - 이론 && ADT (0) | 2018.09.10 |
[자료구조 && 알고리즘] 버블정렬 (0) | 2018.07.15 |
[자료구조 & 알고리즘] 그래프 / 인접 행렬 / 인접 리스트 (0) | 2018.07.13 |