带标题的链接列表

时间:2013-12-15 19:25:06

标签: c++ linked-list

我应该用标题写一个链表。但我想我还没有理解标题的确切含义!标题是指向列表的第一项还是第一项本身?!我请你检查我的代码是否生成带有标题的链表?如果不是我应该怎么做才能有一个标题链表?这是代码:

    #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;
}

//*****************************************************************//

2 个答案:

答案 0 :(得分:2)

标题角色是跟踪您的列表。如果您指的是单个列表,则标题位于单个列表的开头,并指向第一个节点。

e.g

header->firstNode->secondNode->...

标题帮助找到列表中的第一个节点

如果列表是双链表,那么您需要一个标题和一个后面,以便能够轻松地从开头或结尾访问列表。

答案 1 :(得分:1)

标题(对于单链表)在开始时是一个虚拟节点,可以简化开头的插入。

对于循环链接列表,术语“标题”节点有时用于连接起始端的虚拟节点。空的此类列表仅包含链接到其自身的标头节点。它消除了一些插入和删除的特殊情况。

在任何情况下,标头节点都不需要是完整的完整节点。如果链接位于每个节点的开头,那么只有那个部分需要在那里用于标题。此外,标头不一定需要动态分配。