Legacy(~18.10)/컴퓨터공학
[Data Structure] Deque - 이론 && ADT
Depaysement
2018. 9. 10. 13:02
반응형
양쪽 끝에서(
rear
,front
) 삽입, 삭제를 모두 수행할 수 있다.
Deque가 Stack과 Queue의 특징을 모두 취할 수 있어도 LIFO, FIFO 순서를 정하도록 요구하지는 않는다.
class Deque:
def __init__(self):
'''
데큐를 리스트로 초기화한다.
'''
self.deque = []
def isEmpty(self):
'''
데큐의 길이가 0인지를 확인한다.
'''
return len(self.deque) == 0
def addFront(self, item):
'''
데큐의 Front에 item을 추가한다.
'''
self.deque.append(item)
def addRear(self, item):
'''
데큐의 Rear에 item을 추가한다.
'''
self.deque.insert(0, item)
def removeFront(self):
'''
데큐의 Front에 있는 item을 제거한다.
'''
return self.deque.pop()
def removeRear(self):
'''
데큐의 Rear에 있는 item을 제거한다.
'''
return self.deque.pop(0)
def size(self):
'''
데큐의 길이를 반환한다.
'''
return len(self.deque)
반응형