创建双向链表与创建单链表相似,主要是节点中多增加了个指针
#include<stdio.h>
#include<stdlib.h>
typedef struct Node
{
int data;
struct Node *Next;
struct Node *front;
}List;
void Link_print(List *L)
{
List *pmov=L;
if(L==NULL)
{
printf("NULL");
}
else
{
while(pmov->Next!=NULL)
{
printf("%d ",pmov->data);
pmov=pmov->Next;
}
printf("%d",pmov->data);
}
}
List* Link_creat()
{
List *L,*head=NULL,*pmov=NULL;
int i;
while(scanf("%d",&i)&&i>0)
{
L=(List*)malloc(sizeof(List));
L->data=i;
if(head==NULL)
{
L->Next=NULL;
L->front=NULL;
head=L;
pmov=head;
}
else
{
pmov=head;
while(pmov->Next!=NULL)
{
pmov=pmov->Next;
}
pmov->Next=L;
L->front=pmov;
L->Next=NULL;
}
}
return head;
}
int main()
{
List *L;
L=NULL;
L=Link_creat();
Link_print(L);
return 0;
}