📜  addner liste python (1)

📅  最后修改于: 2023-12-03 14:39:01.818000             🧑  作者: Mango

Python中的addner list

在Python中,可以使用addner list(也称为linked list)来存储数据。addner list是一种线性数据结构,其元素被链接在一起,并且可以在任何时间添加,删除或更改。在本文中,我们将学习如何使用Python创建addner list,并介绍一些有用的操作和技巧。

创建addner list

在Python中,可以使用类和节点(node)的概念来创建和管理addner list。节点表示单个元素,包括存储在其中的值和指向下一个节点的指针。下面是一个基本的节点类的示例:

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

该类具有一个名为data的属性,该属性存储节点中的值。它还具有一个名为next的属性,该属性表示指向下一个节点的指针。如果当前节点是链表的最后一个节点,则next指针为None。

使用节点类,我们可以定义一个addner list类,并包含各种方法,例如添加,删除和搜索节点。下面是一个addner list类的示例:

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

    def append(self, data):
        new_node = Node(data)
        if self.head is None:
            self.head = new_node
            return
        last_node = self.head
        while last_node.next:
            last_node = last_node.next
        last_node.next = new_node

    def prepend(self, data):
        new_node = Node(data)
        new_node.next = self.head
        self.head = new_node

    def delete(self, key):
        current_node = self.head
        if current_node and current_node.data == key:
            self.head = current_node.next
            current_node = None
            return
        prev_node = None
        while current_node and current_node.data != key:
            prev_node = current_node
            current_node = current_node.next
        if current_node is None:
            return
        prev_node.next = current_node.next
        current_node = None

    def search(self, key):
        current_node = self.head
        while current_node:
            if current_node.data == key:
                return True
            current_node = current_node.next
        return False

在这个示例中,addner list类具有一个名为head的属性,该属性表示addner list的第一个元素(称为头节点)。它还有几个方法:append用于在链表的末尾添加一个新节点,prepend用于在链表的开头添加新节点,delete用于删除具有给定键的节点,search用于在链表中查找具有给定键的节点。

操作addner list

现在,我们已经了解了如何使用Python创建addner list类,让我们看看一些常见的操作方法。

添加节点

要添加一个新的节点,可以使用append或prepend方法。append方法将新节点添加到链表的末尾,而prepend方法将新节点添加到链表的开头。这里有一些样例代码:

linked_list = LinkedList()

# 添加到末尾
linked_list.append(1)
linked_list.append(2)
linked_list.append(3)

# 添加到开头
linked_list.prepend(0)
删除节点

要删除一个节点,可以使用delete方法。该方法需要一个参数,即要删除的节点的键。这里有一些示例代码:

# 删除一个节点
linked_list.delete(3)

# 删除另一个节点
linked_list.delete(0)
查找节点

要查找具有给定键的节点,可以使用search方法。该方法需要一个参数,即要查找的节点的键。示例代码如下:

# 查找一个节点
print(linked_list.search(2))  # True

# 查找一个不存在的节点
print(linked_list.search(10))  # False
遍历链表

要遍历链表并访问每个节点,可以使用while循环。下面是一个示例代码:

current_node = linked_list.head

while current_node:
    print(current_node.data)
    current_node = current_node.next
总结

在本文中,我们介绍了Python中的addner list,包括如何使用节点类创建链表,如何添加,删除和搜索节点,以及如何遍历链表。这些都是您在编写Python应用程序时需要了解的基本操作,因此请务必记住它们。