繁体   English   中英

单链表 C++

[英]Singly Linked List c++

我试图通过阅读一些代码并理解它来理解单向链表。 这段代码,在这个网站http://www.sanfoundry.com/cpp-program-implement-single-linked-list/找到,有

struct node
{
    int info;
    struct node *next;

} *start;

我理解 int info 和 struct node *next 的作用,但是关闭括号后额外的 *start 是什么意思?

谢谢!

startstruct node*类型的变量 - 我猜它是列表的头部。

如果您发现拆分类型和变量更容易:

struct node
{
    int info;
    struct node *next;

};

struct node* start;

由于这是 C++,因此您也可以简化为node* start;

    struct node
{
    int info;
    struct node *next;

};

将上述内容视为您将来将要使用的内容的模板。

因此,当您想使用上述结构来构建数据时,您需要定义一个变量或在内存中实例化该结构,如下所示

就像是

struct node mynode;
or 
struct node* mynodeptr = new node;

要回答您的后续问题,可以在需要实例化node变量的任何地方完成上述操作。 所以是的,它不必总是按照你原来的问题的方式来完成。

至于typedef ing struct有一个关于为什么要使用它的很好的讨论。 看看这里

它是结构节点类型的变量。 用作链表的头部。多次引用在链表中遍历。 希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM