더북(TheBook)

다음으로 요소를 탐색하는 연산을 구현해 보겠습니다. 먼저 리스트의 첫 번째 데이터부터 선형으로 순회하면서 탐색하는 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 함수는 첫 번째 데이터 노드부터 마지막 노드까지 대상 값을 가진 첫 번째 노드를 찾을 때까지 연결 리스트를 순회합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.