首页 > 解决方案 > 我需要帮助理解链表算法 (C#)

问题描述

我需要一些帮助来理解链接列表中使用的一些实现。我不明白的主要事情是“下一个公共节点”是什么;陈述代表。我对此感到困惑,因为我从未见过像 Datatype 一样使用类来分配变量。

“下一个”变量是否包含“节点”类的所有数据?我只是对“下一个”变量实际引用的数据感到困惑。

我应该注意我知道如何实现链表,我只是想更好地理解它

我的实现代码:

class Node
    {
        public int data;
        public Node next;
 
        public Node(int data)
        {
            this.data = data;
            next = null;
        }
    }

    class SingleLinkedList
    {
        Node headNode = null;
 
        public void FrontInsert(int data)
        {
            Node newNode = new Node(data);
            newNode.next = headNode;    
            newNode.data = data;       
            headNode = newNode;      
        }

标签: c#algorithmdata-structures

解决方案


我不明白“下一个公共节点”是什么;陈述代表。我对此感到困惑,因为我从未见过像 Datatype 一样使用类来分配变量。

public Node next;只是一个 Node 类型的变量声明。当你声明一个变量时,你总是这样做。您只是感到困惑,因为您在类型声明本身中声明了一个类型变量。

“下一个”变量是否包含“节点”类的所有数据?我只是对“下一个”变量实际引用的数据感到困惑。

是的,“下一个”变量保存了“节点”类的所有数据。以下是“下一个”变量的目的。如您所知, LinkedList 包含链接在一起的节点列表。这个“下一个”变量充当链接并指向列表中的下一个节点。

在此处输入图像描述

上面是示例 LinkedList。这个 LinkedList 包含节点 A、B、C 和 D。


推荐阅读