之前的博客讲到了线性表的链式存储结构,实现了链表的各种操作(http://blog.csdn.net/u010429311/article/details/51037580)。但是,单链表有单向性的缺点,为了克服这一缺点,可以尝试实现双向链表。下图是双向链表的结构:
我们也可以实现双向链表的一些基本操作:
以下是实现基本操作的代码:
#include <stdio.h>
#include <malloc.h>
#define OK 1
#define ERROR 0
typedef int ElemType;
typedef int Status;
typedef struct DNode {
ElemType data;
struct DNode *next;
struct DNode *prior; //指向上一个结点的指针
} DNode, *DulLinkList;
Status createList(DulLi