定义一个双向链表结构:
typedef struct DulNode{
// *prior:前一个元素的地址
// *next:后一个元素的地址
struct DulNode *prior;
Element data;
struct DulNode *next;
}DulNode,*DuLinkList;
初始化一个双向链表 :
DuLinkList doubleLinkedListInit(){
DuLinkList L;
L = (DuLinkList)malloc(sizeof(DulNode));
L->next = NULL;
L->prior = NULL;
}
创建一个双向链表:
//尾插法
void duLinkListCreateT(DuLinkList l,int size){
DuLinkList t;
t = l;
for(int i = 1; i <= size; i++){
DuLinkList p;
p = (DuLinkList)malloc(sizeof(DulNode));
p->data = i;
t->next = p;
p->prior = t;
t = p;
}
t->next = NULL;
}
// 头插法
void duLinkListCreateH(DuLinkList l,int size){
for(int i