Heim Backend-Entwicklung Python-Tutorial Python implementiert eine einfach verknüpfte Liste

Python implementiert eine einfach verknüpfte Liste

Nov 26, 2016 am 11:54 AM
python

# programming:utf-8 


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


class LinkList: 
    def __init__(self, data=[0]): 
        self.head = None 
        self.init_link_list(data) 

    # 初始化链表 
    # data 为数组 
    def init_link_list(self, data): 
        if len(data) == 0: 
            print("Initialisierungsdaten sind. null") 
            zurück 
self.head = Node(data[0]) 
        current = self.head 
        für Index in data[1:]: 
            current.next = Node(index) 
            current = current.next

    # 获取当前结点 
    def get_node(self, index): 
        if self.is_empty(): 
            print("link is empty") 
           . return 
wenn Index > self.get_length() oder index <= 0: 
            print("node is not exist") 
            return 
        current = self.head 
        i = 0 
        while i < index: 
            if i == index - 1: 
                Strom zurückgeben 
            current = current.next 
            i += 1 

    # 获取当前元素的值 
    def get_data (self, index): 
        current = self.get_node(index) 
        if current None: 
            return „node is not exist“ 
        return current.data 

    # 打印链表 
    def print_link(self): 
        if self.is_empty(): 
            return 
        list = [] 
        current = self.head 
        while. current.n ext ist nicht None:
            list.append(current.data) 
            current = current.next 
        else: 
            list.append(current.data) 
        print(list) 

    # 获取链表长度 
    def get_length(self): 
        if self.is_empty(): 
            return 0 
        current = self.head 
        count =. 0 
        während current.next nicht None ist : 
            count += 1 
            current = current.next 
        else: 
            count += 1 
        return count 

    #判断链表是否为空 
# Wenn es leer ist, geben Sie true zurück
# Wenn es nicht leer ist, geben Sie false zurück
def is_empty(self):
return self.head is None

# Fügen Sie ein Element nach dem ein aktuelles Element
# Indexelement Index
# eingefügter Datenwert
def add_after(self, index, data):
current = self.get_node(index)
wenn aktuell None ist:
return „Knoten ist nicht vorhanden“
current_next = current.next
current.next = Node(data)
current = current.next
current.next = current_next

# Zum aktuellen Zeitpunkt Fügen Sie ein Element vor dem Element
def add_before(self, index, data):
if index == 1:
current = self.get_node(index)
self.head = ein Node(data)
self.head.next = current
pre.next = Node(data)
          pre = pre.
pre.next = current

# Holen Sie sich die vorheriges Element des aktuellen Elements
def get_pre_node(self, index):
if self.is_empty():
print(" link is empty")
return
if index > .get_length() oder index <= 1:
print("node is not exist")
pre = self .head
i = 0
while i < index:
if i == index - 2:
return pre
pre = pre.next >          i += 1

#Löschen Sie das angegebene Element und geben Sie den Wert des gelöschten Elements zurück
def remove( self, index):
wenn index == 1 und nicht self.is_empty():
data = self.head .data
self.head = self.head.next
Daten zurückgeben
pre_node = self.get_pre_node(index)
current = self.get_node(index)
wenn pre_node None oder current None ist:
print("data is not exist")
pre_node. next = current.next
return current.data

# Ändern Sie den Wert des aktuellen Knotens
def update (self, index, data):
current = self.get_node(index)
wenn aktuell None ist:
return „current node is none“
current.data = data

# Füge die neue verknüpfte Liste in die aktuelle verknüpfte Liste ein
def merge(self , Daten):
        size = self.get_length() 
        last_node = self.get_node(size) 
        last_node.next = data.head 
        return self 

# test 
y = (1,2 ,3,4) 
s = ["a", "b", "c", "d"] 
linkList = LinkList(y) 
# linkList.init_link_list(["a", " b", "c", "d"]) 
# second = LinkList() 
# second.init_link_list(["x", "y", "z"]) 
# linkList.add_after (-1, „x“) 
# linkList.add_after(1, „y“) 
# linkList.init_link_list([]) 
# linkList.add_before(1, „x“) 
# linkList.print_link() 
# print("item:", linkList.get_data(2)) 
# print("length:", linkList.get_length()) 
# print("ist leer ", linkList.is_empty()) 
# print(linkList.get_pre_node(3).data) 
# print("remove node:",linkList.remove(2)) 
# linkList.merge( zweitens) 


linkList.print_link() 

Erklärung dieser Website
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie kontrolliert PS -Federn die Weichheit des Übergangs? Wie kontrolliert PS -Federn die Weichheit des Übergangs? Apr 06, 2025 pm 07:33 PM

Der Schlüssel zur Federkontrolle liegt darin, seine allmähliche Natur zu verstehen. PS selbst bietet nicht die Möglichkeit, die Gradientenkurve direkt zu steuern, aber Sie können den Radius und die Gradientenweichheit flexius durch mehrere Federn, Matching -Masken und feine Selektionen anpassen, um einen natürlichen Übergangseffekt zu erzielen.

So verwenden Sie MySQL nach der Installation So verwenden Sie MySQL nach der Installation Apr 08, 2025 am 11:48 AM

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

Muss MySQL bezahlen? Muss MySQL bezahlen? Apr 08, 2025 pm 05:36 PM

MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

Wie richte ich PS -Federn ein? Wie richte ich PS -Federn ein? Apr 06, 2025 pm 07:36 PM

PS Federn ist ein Bildkantenschwärcheneffekt, der durch den gewichteten Durchschnitt der Pixel im Randbereich erreicht wird. Das Einstellen des Federradius kann den Grad der Unschärfe steuern und je größer der Wert ist, desto unscharfer ist er. Eine flexible Einstellung des Radius kann den Effekt entsprechend den Bildern und Bedürfnissen optimieren. Verwenden Sie beispielsweise einen kleineren Radius, um Details bei der Verarbeitung von Charakterfotos zu erhalten und einen größeren Radius zu verwenden, um ein dunstiges Gefühl bei der Verarbeitung von Kunst zu erzeugen. Es ist jedoch zu beachten, dass zu groß der Radius leicht an Kantendetails verlieren kann, und zu klein ist der Effekt nicht offensichtlich. Der Federneffekt wird von der Bildauflösung beeinflusst und muss anhand des Bildverständnisses und des Griffs von Effekten angepasst werden.

So optimieren Sie die Datenbankleistung nach der MySQL -Installation So optimieren Sie die Datenbankleistung nach der MySQL -Installation Apr 08, 2025 am 11:36 AM

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.

Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Apr 08, 2025 pm 06:03 PM

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

Lösungen für den Dienst, der nach der MySQL -Installation nicht gestartet werden kann Lösungen für den Dienst, der nach der MySQL -Installation nicht gestartet werden kann Apr 08, 2025 am 11:18 AM

MySQL hat sich geweigert, anzufangen? Nicht in Panik, lass es uns ausprobieren! Viele Freunde stellten fest, dass der Service nach der Installation von MySQL nicht begonnen werden konnte, und sie waren so ängstlich! Mach dir keine Sorgen, dieser Artikel wird dich dazu bringen, ruhig damit umzugehen und den Mastermind dahinter herauszufinden! Nachdem Sie es gelesen haben, können Sie dieses Problem nicht nur lösen, sondern auch Ihr Verständnis von MySQL -Diensten und Ihren Ideen zur Fehlerbehebungsproblemen verbessern und zu einem leistungsstärkeren Datenbankadministrator werden! Der MySQL -Dienst startete nicht und es gibt viele Gründe, von einfachen Konfigurationsfehlern bis hin zu komplexen Systemproblemen. Beginnen wir mit den häufigsten Aspekten. Grundkenntnisse: Eine kurze Beschreibung des Service -Startup -Prozesses MySQL Service Startup. Einfach ausgedrückt, lädt das Betriebssystem MySQL-bezogene Dateien und startet dann den MySQL-Daemon. Dies beinhaltet die Konfiguration

MySQL kann nach dem Herunterladen nicht installiert werden MySQL kann nach dem Herunterladen nicht installiert werden Apr 08, 2025 am 11:24 AM

Die Hauptgründe für den Fehler bei MySQL -Installationsfehlern sind: 1. Erlaubnisprobleme, Sie müssen als Administrator ausgeführt oder den Sudo -Befehl verwenden. 2. Die Abhängigkeiten fehlen, und Sie müssen relevante Entwicklungspakete installieren. 3. Portkonflikte müssen Sie das Programm schließen, das Port 3306 einnimmt, oder die Konfigurationsdatei ändern. 4. Das Installationspaket ist beschädigt. Sie müssen die Integrität herunterladen und überprüfen. 5. Die Umgebungsvariable ist falsch konfiguriert und die Umgebungsvariablen müssen korrekt entsprechend dem Betriebssystem konfiguriert werden. Lösen Sie diese Probleme und überprüfen Sie jeden Schritt sorgfältig, um MySQL erfolgreich zu installieren.

See all articles