如果用的是头插法打印出来时逆序
#include<stdio.h>
#include<malloc.h>
typedef int DataType;
typedef struct node
{
DataType data;
struct node *next;
}LinkNode,*LinkList;
//利用头插法建立单链表
/*LinkNode *CreateList(void)
{
LinkNode *s,*head;
DataType data;
int flag=1;
head=(LinkNode *)malloc(sizeof(LinkNode));
head->next=NULL;
while(flag)
{
scanf("%d",&data);
if( data > 0)
{
s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=data;
s->next=head->next;
head->next=s;
}
else
flag=0;
}
return head;
}*/
//利用尾插法建立链表
LinkNode *CreateList(void)
{
LinkNode *s,*head,*r;
DataType data;
int flag=1;
r=head=(LinkNode *)malloc(sizeof(LinkNode));
head->next=NULL;
while(flag)
{
scanf("%d",&data);
if( data > 0)
{
s=(LinkNode *)malloc(sizeof(LinkNode));
s->data=data;
r->next=s;
r=s;
}
else
{