链表
单向链表,双向链表以及循环链表
理解:在各个计算机内存地址里放了数据,每个内存地址里保存有这个地址的值(val)、下一个地址的指针、(上一个地址的指针和最后一个地址的指针)。
c++单链表结构:
template
struct ListNode {
T val;
ListNode *next;
//ListNode *rear;还可加入末尾指针
ListNode(T x) : val(x), next(NULL) {}
};
双向链表结构:
template
struct ListNode {
T val;
ListNode *front;
ListNode *next;
//ListNode *rear;
ListNode(T x) : val(x), next(NULL) {}
};
单循环链表:
即将单链表结构的最后一个节点的next指向开头节点:rear->next->next=(开头节点地址)