다음으로 요소를 탐색하는 연산을 구현해 보겠습니다. 먼저 리스트의 첫 번째 데이터부터 선형으로 순회하면서 탐색하는 search_forward() 메서드를 볼까요?
코드 4-7
def search_forward(self, target):
cur = self.head.next ➊
while cur is not self.tail: ➋
if cur.data == target:
return cur
cur = cur.next
return None
➊ 데이터 노드를 순회할 cur 변수: 첫 번째 데이터 노드부터 시작하므로 self.head.next를 가리킵니다.
➋ 리스트의 마지막 노드가 더미 노드이므로 더미 노드가 아니라면 아직 데이터 노드입니다.
search_forward 함수는 첫 번째 데이터 노드부터 마지막 노드까지 대상 값을 가진 첫 번째 노드를 찾을 때까지 연결 리스트를 순회합니다.