c# - 我需要帮助理解链表算法 (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;
}
解决方案
我不明白“下一个公共节点”是什么;陈述代表。我对此感到困惑,因为我从未见过像 Datatype 一样使用类来分配变量。
public Node next;
只是一个 Node 类型的变量声明。当你声明一个变量时,你总是这样做。您只是感到困惑,因为您在类型声明本身中声明了一个类型变量。
“下一个”变量是否包含“节点”类的所有数据?我只是对“下一个”变量实际引用的数据感到困惑。
是的,“下一个”变量保存了“节点”类的所有数据。以下是“下一个”变量的目的。如您所知, LinkedList 包含链接在一起的节点列表。这个“下一个”变量充当链接并指向列表中的下一个节点。
上面是示例 LinkedList。这个 LinkedList 包含节点 A、B、C 和 D。
推荐阅读
- django - 如何确定 django 模型的正确布局?
- reactjs - 按下按钮后如何显示下拉列表?
- flask - Flask/Flask-restful:为 POST 请求强制/正确/覆盖不正确的内容类型标头
- sql-server - SQL Server - 查询返回重复记录
- laravel - Laravel根据列值定义关系中的外键
- java - Fabric8 卡在停止并移除 docker 容器
- javascript - 当我关闭灯箱时,有没有办法不滚动回顶部?
- c - 在不知道数据长度的情况下读取在套接字中发送的数据块
- python-3.x - box-python-sdk is not returning total_count for Get Enterprise Users and Get Group
- mysql - Hive Metastore 每四到六个小时就会断开连接