首页 > 编程知识 正文

Python获取单链表长度的方法

时间:2023-11-19 11:04:44 阅读:291093 作者:RPWU

本文将从以下几个方面详细阐述Python中获取单链表长度的方法,并为每个方面提供详细的代码示例。

一、定义链表

在Python中,我们可以使用类来定义链表。具体实现如下:

class Node:
    def __init__(self, val=None):
        self.val = val
        self.next = None
        
class LinkedList:
    def __init__(self):
        self.head = Node()
        
    def append(self, val):
        new_node = Node(val)
        cur = self.head
        while cur.next:
            cur = cur.next
        cur.next = new_node

以上代码中,首先定义了一个Node类来表示单链表中的节点,每个节点包含一个值和一个指向下个节点的指针。接着,定义了一个LinkedList类来表示整个单链表,其中head指向链表的头节点。append方法是往链表中添加元素的方法,其实现原理是找到链表的尾节点,并将新节点添加到其next指针上。

二、获取链表长度

在Python中,获取链表长度的方法很简单,只需遍历整个链表并计算元素个数即可。以下是代码示例:

class LinkedList:
    # ……(同上)
        
    def length(self):
        cur = self.head
        total = 0
        while cur.next:
            total += 1
            cur = cur.next
        return total

以上代码中,定义了一个length方法来获取链表的长度。首先,将cur指针指向链表的头节点。接着,使用一个while循环遍历整个链表,每当遇到一个节点时,就将计数器total加1。遍历结束后,返回计数器值即为链表的长度。

三、测试代码

为了验证上述代码的正确性,我们可以编写一些测试代码。具体实现如下:

my_list = LinkedList()

my_list.append(1)
my_list.append(2)
my_list.append(3)
my_list.append(4)
my_list.append(5)

print(my_list.length())  # 输出5

以上代码首先创建了一个新的LinkedList对象my_list,并往其中添加了一些元素。接着,调用length方法获取my_list的长度,并将结果打印出来。

四、总结

本文给出了Python获取单链表长度的方法,重点讲解了链表的定义、获取链表长度的实现以及测试代码。对于初学者来说,掌握这些基本知识是很重要的。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。