头插法和尾插法
typedef struct DNode
{
ElemType data;
struct DNode *prior;
struct DNode *next;
}DLinkNode;
void GreateListF(DLinkNode *&L, ElemType a[],int n)
{
DLinkNode *s;
L = (DLinkNode *)malloc(sizeof(DLinkNode));
L->prior = L->next = NULL;
for(int i = 0; i < n;i++)
{
s = (DLinkNode *)malloc(sizeof(DLinkNode));
s->data = a[i];
s->next = L->next;
if(L->next!=NULL)
{
L->next->prior = s;
}
L->next= s;
s->prior = L;
}
}
void GreateListR(DLinkNode *&L,ElemType a[],int n)
{
DLinkNode *s,*r;
L = (DLinkNode *)malloc(sizeof(DLinkNode));
r = L;
for(int i = 0 ;i < n; i++)
{
s = (DLinkNode *)malloc(sizeof(DLinkNode));
s->data=a[i];
r->next=s;
s->prior=r;
r=s;
}
r->next=NULL;
}