#include <stdio.h>
#include <malloc.h>
#include "LinkList.h"
int CreateList_L(LinkList &L, int n);
void output(LinkList L);
void DestroyLinkList(LinkList L);
void main()
{
LinkList L;
int n;
int ret;
n=3;
ret=CreateList_L(L,n);
if(!ret)
{
printf("create linklist fail\n");
}
else
{
printf("create linklist ok\n");
output(L);
}
DestroyLinkList(L);
}
void DestroyLinkList(LinkList L)
{
LinkList p,pre;
if(L==NULL)
return;
if(L->next==NULL)
{
free(L);
return;
}
p=L->next;
while(p!=NULL)
{
pre=p;
p=p->next;
free(pre);
}
free(L);
}
void output(LinkList L)
{
LinkList p;
if(L==NULL)
return;
if(L->next==NULL)
return;
p=L->next;
while(p!=NULL)
{
printf("%d ",p->data);
p=p->next;
}
}
int CreateList_L(LinkList &L, int n)
{
LinkList p;
int i;
L=(LinkList)malloc(sizeof(LNode));
if(L==NULL)
return 0;
L->next=NULL;
for(i=n;i>0;i--)
{
p=(LinkList)malloc(sizeof(LNode));
if(p==NULL)
return 0;
scanf("%d",&(p->data));
p->next=L->next;
L->next=p;
}
return 1;
}