头文件:函数的声明
#include
#include
#include
typedef char ElemType;
typedef struct Node
{
ElemType data;
struct Node* prior;
struct Node* next;
}DListNode,*DLinkList;
int InitDList(DLinkList *head);
DListNode *GetElem(DLinkList head,int i);
void PrintDList(DLinkList head);
int CreateDList(DLinkList head,int n);
int InsertDList(DLinkList head,int i,ElemType e);
函数的定义
#include "双向链表.h"
int InitDList(DLinkList *head)
{
*head = (DLinkList)malloc(sizeof(DListNode));
if(!head)
{
return -1;
}
(*head)->next = *head;
(*head)->prior = *head;
return 1;
}
DListNode *GetElem(DLinkList head,int i)
{
DListNode *p;
int j =