📌  相关文章
📜  数据结构示例-创建n个节点的循环链表并计算节点数(1)

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

数据结构示例-创建n个节点的循环链表并计算节点数

在计算机科学中,链表是一种常见的数据结构,其可以用于表示元素之间的逻辑关系。循环链表是一种特殊的链表,最后一个节点指向第一个节点,形成了一个环形结构。本文将介绍如何使用编程语言创建一个包含n个节点的循环链表,并计算链表中的节点数。

1. 创建节点类

首先,我们需要创建一个节点类,用于表示链表中的每个节点。每个节点包含两个属性:数据和指向下一个节点的指针。

class Node:
    def __init__(self, data):
        self.data = data
        self.next = None
2. 创建循环链表类

在下一步中,我们将创建一个循环链表类,用于管理链表中的节点。循环链表类将包含一些方法,例如添加节点、计算节点数等。

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

    def add_node(self, data):
        new_node = Node(data)
        if not self.head:
            self.head = new_node
            new_node.next = self.head
        else:
            current = self.head
            while current.next != self.head:
                current = current.next
            current.next = new_node
            new_node.next = self.head

    def count_nodes(self):
        count = 0
        if self.head:
            current = self.head
            count += 1
            while current.next != self.head:
                current = current.next
                count += 1
        return count
3. 创建循环链表并计算节点数

现在,我们可以使用上述定义的循环链表类来创建一个包含n个节点的循环链表,并计算链表中的节点数。以下是一个示例程序:

# 创建一个循环链表
n = 5
circle_list = CircularLinkedList()

# 添加n个节点到循环链表
for i in range(1, n+1):
    circle_list.add_node(i)

# 计算链表中的节点数
node_count = circle_list.count_nodes()

print(f"The number of nodes in the circular linked list is {node_count}.")

上述程序将创建一个包含5个节点的循环链表,并计算链表中的节点数。最后,程序将输出结果:The number of nodes in the circular linked list is 5.

通过以上代码,我们展示了如何创建n个节点的循环链表,并计算链表中的节点数。你可以根据自己的需求修改示例代码来创建任意个节点的循环链表,并进行其他操作。祝你在使用链表时取得好结果!