在链表中设置head等于Node* ptr意味着什么?

What it means to set your head equal to a Node* ptr in a linked list?

本文关键字:ptr 意味着 什么 Node 等于 链表 设置 head      更新时间:2023-10-16

所以我正在解决一个问题我们不能使用虚拟节点

代码以

开头
void LinkedList::deletemiddleNode()
{
    Node *pointer = head;
    ...
}

我感到困惑的原因是因为我在概念上感到困惑。由于我们没有虚拟节点,因此头节点的prev设置为NULL,尾节点的next设置为NULL。那么在绘图中你如何描述那个指针指向什么。比如它是指向头部的指针吗?然后指针->prev->下一步将无法使用,因为头部的prev是NULL,但示例解决方案使用它…?

画你说?不如这样写:

假设您有一个变量head,它指向内存中的某个node对象。它看起来像这样:

<>之前+------+ +------------------+| head | --> |某些节点对象|+------+ +------------------+之前然后声明另一个指针,命名为pointer,并将head中的赋值给它。现在pointer包含与head相同的值,因此指向内存中的相同节点: <>之前+------+|头|——。+------+ | +------------------+>-> |一些节点对象|+---------+ | +------------------+|指针|——’+---------+之前还是我误解了你的问题?

上面的语句意味着您正在设置或初始化您的头指针以指向某个节点对象,并且头与节点具有相同的用户定义数据类型!!