我想在C中创建一个列表,其中head和tail不是指针,而是按值的节点。可以吗?
我想使用头部和尾部作为空框架来放置列表。我知道如何创建它作为指针,只想知道这一点,因为我只是意识到我不知道如何单独做这件事。
struct List{Node head, Node tail};
struct Node{struct Node* next, struct Node* prev, void* data};
答案 0 :(得分:0)
带有虚拟头部和尾部的列表(这里介绍的方式)的主要优点是列表函数中没有特殊情况(插入,移除,等等)。 头尾指针使您可以处理每个功能中的特殊情况。
答案 1 :(得分:-1)
非指针对象的链表 1 是不可能的,它根本没有意义,因为整点列表中的next
和previous
成员 POINT 指向同一类型的另一个实例,因此它们必须是指针。
[1] 单链或双链表。