Heim  >  Artikel  >  Backend-Entwicklung  >  So implementieren Sie eine einfach verknüpfte Liste mit Python

So implementieren Sie eine einfach verknüpfte Liste mit Python

WBOY
WBOYOriginal
2023-06-11 16:40:331363Durchsuche

Einfach verknüpfte Liste ist eine allgemeine Datenstruktur, die aus einer Reihe von Knoten besteht. Jeder Knoten enthält ein Element und einen Zeiger auf den nächsten Knoten. Sie können Klassen verwenden, um einfach verknüpfte Listen in Python zu implementieren.

Definieren Sie zunächst eine Knotenklasse, die ein Element und einen Zeiger auf den nächsten Knoten enthält:

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

wobei data das Element des Knotens darstellt und next_node den Zeiger auf den nächsten Knoten darstellt.

Als nächstes definieren Sie eine einfach verknüpfte Listenklasse, die einen Kopfknoten und einige grundlegende Operationsmethoden enthält, z. B. das Einfügen, Löschen, Suchen und Drucken von einfach verknüpften Listenoperationen:

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

Im obigen Code erstellt die Einfügemethode einen new Der Knoten wird am Ende der einfach verknüpften Liste eingefügt. Die Löschmethode löscht den Knoten, auf dem sich das angegebene Element befindet. Die Suchmethode wird verwendet, um herauszufinden, ob ein Knoten in einer einfach verknüpften Liste vorhanden ist. Die Methode print_list wird verwendet, um die gesamte einfach verknüpfte Liste zu drucken.

Endlich können wir unsere Klasse für einfach verknüpfte Listen testen:

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

Das Obige sind die grundlegenden Schritte zum Implementieren einer einfach verknüpften Liste mit Python. Es ist ersichtlich, dass sich Python dadurch auszeichnet, dass es einfach und leicht verständlich ist, nur wenig Code enthält und leicht zu lesen und zu verstehen ist, was Python zu einer Programmiersprache macht, die sich sehr gut für die Implementierung von Datenstrukturen eignet.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine einfach verknüpfte Liste mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn