我应该用标题写一个链表。但我想我还没有理解标题的确切含义!标题是指向列表的第一项还是第一项本身?!我请你检查我的代码是否生成带有标题的链表?如果不是我应该怎么做才能有一个标题链表?这是代码:
#include<iostream>
using namespace std;
class node
{
int info;
node *next;
friend class H_list;
};
class node;
class H_list
{
public:
H_list();
int isempty();
void insert();
void del();
void display();
private:
node *header;
node *L;
};
//*****************************************************************//
H_list::H_list()
{
header=new node;
header->next=NULL;
L=NULL;
}
//*****************************************************************//
答案 0 :(得分:2)
标题角色是跟踪您的列表。如果您指的是单个列表,则标题位于单个列表的开头,并指向第一个节点。
e.g
header->firstNode->secondNode->...
标题帮助找到列表中的第一个节点
如果列表是双链表,那么您需要一个标题和一个后面,以便能够轻松地从开头或结尾访问列表。
答案 1 :(得分:1)
标题(对于单链表)在开始时是一个虚拟节点,可以简化开头的插入。
对于循环链接列表,术语“标题”节点有时用于连接起始端的虚拟节点。空的此类列表仅包含链接到其自身的标头节点。它消除了一些插入和删除的特殊情况。
在任何情况下,标头节点都不需要是完整的完整节点。如果链接位于每个节点的开头,那么只有那个部分需要在那里用于标题。此外,标头不一定需要动态分配。