双向链表
在单链表的每个结点中只有一个指示后继的指针域,因此从任何一个结点都能通过指针域找到它的后继结点若要找出该结点的前驱结点,则需要从表头出发重新查找。这是单向链表的缺点,我们可用双向链表来克服这种缺点。
在双向链表中,每一个结点除了数据域外,还包含两个指针域,一个指针(next)指向该结点的后继结点,另一个指针(prior)指向它的前驱结点。
双向链表的定义如下 :
typedef struct node{
int data;
struct node *prior,*next} nodetype;
关于双向链表的操作:插入、删除、查找与单向链表类似,两条链路都要考虑。