더북(TheBook)

그림 12-12에서 cur 노드는 곧 삭제될 것이므로 befcur의 다음 노드가 서로 연결되어야 합니다. 그러므로 befnextcur의 다음 노드를 가리키게 합니다. 이렇게 하면 함수 호출이 끝나 cur이 사라질 때 삭제 노드의 레퍼런스 카운트가 0이 되어 지워집니다.

마지막으로 데이터 개수가 하나 줄어들었으므로 d_size 값도 감소시켜야 한다는 걸 잊지 말아야 합니다.


연결 리스트 테스트 코드

연결 리스트를 순회하면서 모든 데이터를 출력하는 show_list() 함수를 정의할 차례입니다.

코드 12-8 data_structure_1/linked_list.py ⑧

def show_list(slist):
    if slist.empty():
        print('The list is empty')
        return

    for i in range(slist.size()):
        print(slist.search_pos(i), end = ' ')


코드 12-8에서 show_list() 함수는 리스트를 인자로 받아 데이터 개수만큼 search_pos() 함수를 호출해 리스트의 모든 데이터를 출력합니다.

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