>  기사  >  백엔드 개발  >  Python을 사용하여 단일 연결 목록을 구현하는 방법

Python을 사용하여 단일 연결 목록을 구현하는 방법

WBOY
WBOY원래의
2023-06-11 16:40:331380검색

단일 연결 리스트는 일련의 노드로 구성된 공통 데이터 구조이며, 각 노드에는 요소와 다음 노드에 대한 포인터가 포함됩니다. 클래스를 사용하여 Python에서 단일 연결 목록을 구현할 수 있습니다.

먼저, 요소와 다음 노드에 대한 포인터를 포함하는 노드 클래스를 정의합니다.

class Node:
    def __init__(self, data=None, next_node=None):
        self.data = data
        self.next_node = next_node

여기서 data는 노드의 요소를 나타내고 next_node는 다음 노드에 대한 포인터를 나타냅니다.

다음으로, 단일 연결 목록 작업 삽입, 삭제, 검색 및 인쇄와 같은 몇 가지 기본 작업 메서드와 헤드 노드를 포함하는 단일 연결 목록 클래스를 정의합니다.

class LinkedList:
    def __init__(self):
        self.head = Node()

    def insert(self, data):
        new_node = Node(data)
        current_node = self.head
        while current_node.next_node is not None:
            current_node = current_node.next_node
        current_node.next_node = new_node

    def delete(self, data):
        current_node = self.head
        previous_node = None
        while current_node is not None:
            if current_node.data == data:
                if previous_node is not None:
                    previous_node.next_node = current_node.next_node
                else:
                    self.head = current_node.next_node
                return
            previous_node = current_node
            current_node = current_node.next_node

    def search(self, data):
        current_node = self.head
        while current_node is not None:
            if current_node.data == data:
                return True
            current_node = current_node.next_node
        return False

    def print_list(self):
        current_node = self.head.next_node
        while current_node is not None:
            print(current_node.data)
            current_node = current_node.next_node

위 코드에서 삽입 메서드는 new 노드는 단일 연결 리스트의 끝에 삽입됩니다. delete 메소드는 지정된 요소가 위치한 노드를 삭제합니다. 검색 방법은 단일 연결 리스트에 노드가 존재하는지 찾는 데 사용됩니다. print_list 메소드는 전체 단일 연결 리스트를 인쇄하는 데 사용됩니다.

마지막으로 단일 연결 목록 클래스를 테스트할 수 있습니다.

linked_list = LinkedList()
linked_list.insert(1)
linked_list.insert(2)
linked_list.insert(3)
linked_list.insert(4)

print(linked_list.search(3)) # True
print(linked_list.search(5)) # False

linked_list.delete(3)

linked_list.print_list() # 1 2 4

위는 Python을 사용하여 단일 연결 목록을 구현하는 기본 단계입니다. Python의 특징은 간단하고 이해하기 쉽고, 적은 양의 코드로 읽고 이해하기 쉽다는 점에서 Python을 데이터 구조 구현에 매우 적합한 프로그래밍 언어로 만듭니다.

위 내용은 Python을 사용하여 단일 연결 목록을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.