链表

单链表

结构:头指针+头节点+元首节点…

头节点:不存放数据,此节点的存在是为了避免一些操作便得更复杂(如删除了尾节点)

元首节点:第一个存放数据的节点

尾节点:最后一个节点,指向NULL

节点结构:数据域 + 指针域

循环链表

尾节点:指向 头节点

循环链表在末尾添加数据的快捷操作:
将原头节点作为尾节点存放,在原头节点后添加一个新的节点,作为新的头节点

双向链表

每个节点有两个方向的引用,更灵活,但也需要更多的内存空间