1、为了克服单链表访问后继元素的时间复杂度为O(1),访问前驱元素的时间复杂度为O(n),引入了双链表 2、双链表的结点类型 typedef struct DNode{ ElemType data; struct DNode *prior,*next; }DNode,*DLinklist; 3、双链表按值查找以及按位查找与单链表相同,但结点插入、删除不同。 4、循环链表、循环双链表 5、静态链表(数组不是指针,分配一块区域用来存储下一个结点的相对位置‘数组下标’)