【问题标题】:Where should I place head for a linked list, inside or outside struct?我应该在哪里放置链接列表的头部,内部或外部结构?
【发布时间】:2020-03-12 04:45:07
【问题描述】:

最好将链表的头部(双指针)保留在链表本身的结构内部还是外部?

【问题讨论】:

  • 为什么你认为链表的head是双指针?链表的head 只是该列表的 node 类型的指针,它指向列表的第一个节点。如果你让它成为 node 的一部分,那么每个节点都会有自己的head 指针。
  • 您问题中的structure for the linked list 是什么?它包含什么?

标签: c list struct double-pointer


【解决方案1】:

拥有一个包含链表属性的结构体允许您同时拥有一个链表的多个实例。

也就是说,如果头部是链表的唯一属性——即如果您不维护尾部或计数,并且如果您不支持每个列表的自定义分配器和释放器,那么使用结构没有意义。好吧,如果您决定需要这些功能,使用结构会更容易添加这些功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-09
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 2011-06-11
    • 2010-09-24
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多