코드 4-2를 그림 4-6과 같이 표현했습니다. 중요한 점은 head와 tail이 가리키는 더미 노드에는 데이터가 저장되어 있지 않다는 것입니다.
▲ 그림 4-6 더미 이중 연결 리스트 초기화
이제 ADT에 정의된 연산을 구현해 보겠습니다. 먼저 empty() 메서드를 구현하도록 하지요.
코드 4-3
def empty(self):
if self.d_size == 0:
return True
else:
return False
데이터 개수를 저장한 d_size 멤버가 있으니 이를 이용하면 됩니다.
코드 4-4
def size(self):
return self.d_size