不使用递归的 Python 程序来查找链表的长度
pythonserver side programmingprogramming更新于 2023/12/27 4:48:00
当需要不使用递归来查找链表的长度时,定义了一种向链表添加元素的方法,以及一种计算链表长度的方法。
下面是同样的演示 −
示例
class Node: def __init__(self, data): self.data = data self.next = None class my_linked_list: def __init__(self): self.head = None self.last_node = None def add_value(self, my_data): if self.last_node is None: self.head = Node(my_data) self.last_node = self.head else: self.last_node.next = Node(my_data) self.last_node = self.last_node.next def calculate_length(self): curr = self.head length_val = 0 while curr: length_val = length_val + 1 curr = curr.next return length_val my_instance = my_linked_list() my_data = input('输入链表元素 ').split() for elem in my_data: my_instance.add_value(int(elem)) print('链表长度为 ' + str(my_instance.calculate_length()))
输出
输入链表元素 34 12 56 86 32 99 0 6 链表长度为 8
解释
‘Node’类已创建。
另一个‘my_linked_list’创建了具有所需属性的类。
它有一个‘init’函数,用于初始化第一个元素,即将‘head’初始化为‘None’,将最后一个节点初始化为‘None’。
定义了另一个名为‘add_value’的方法,用于将数据添加到链接列表中。
定义了另一个名为‘calculate_length’的方法,用于查找链接列表的长度。
‘my_linked_list’的对象类被创建。
获取用户输入以获取链接列表中的元素。
调用其方法来添加数据。
调用 calculate_length 方法,查找列表的长度。
此输出显示在控制台上。