//没有打印结果,求改错
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
#define MaxSize 10
typedef struct DuLNode
{
int data;
int length;
struct DuLNode *prior;
struct DuLNode *next;
}DuLNode,*DuLinkList;
void InitDuList(DuLinkList H,DuLinkList F)
{
DuLNode *p,*q,*m;
int i,c=0;
F->prior = NULL;
H->next = NULL;
for(i=0;i<MaxSize;i++)
{
p = (DuLNode*)malloc(sizeof(DuLNode));
q = p;
c++;
if(c==1)
{
m = H = p;
}
m->next = p;
m = m->next;
q->prior = F->prior;
F->prior = q;
p->data = i;
H->length += 1;
}
}
void Print(DuLNode *H,DuLNode *F)
{
DuLinkList p,q;
p = H;
q = F;
int i;
printf("顺序打印:\n");
for(i=0;i < H->length;i++)
{
printf("data[%d] = %d",i,p->data);
p = p->next;
}
printf("逆序打印:\n");
for(i= H->length-1; i>=0; i--)
{
printf("data[%d] = %d",i,q->data);
q = q->prior;
}
}
int main()
{
DuLinkList H,F;
InitDuList(H,F);
Print(H,F);
return 0;
}