我最近开始学习C ++,目前正在尝试创建自己的双链表。我不知道应该怎么做。我想使用现有的列表类来存储我的数据和键,或者创建我自己的节点和链表类。或者我应该只使用C使用的链接列表?
答案 0 :(得分:0)
节点结构和容器结构不同。
单链表:
struct node{
node* next;
int data; // Not necessarily an int, but whatever the node will contain.
};
struct container{
node* head;
};
双重链表:
struct node{
node* next;
node* prev; // Unlike the single linked list, a double linked list's node contains a pointer to the previous element as well.
};
struct container{
node* head;
node* tail;
};
请记住,当您执行任何操作(即推,弹,拉等)时,您必须考虑这两个指针。