求助!关于尾插法建链表!
我在学数据结构,这是一个尾插法建链表,编译通过,创建链表能成功,但是输出的时候提示指针指向NULL!哪位朋友能帮我修改一下,万分感谢!!
#include "stdio.h"
#include "stdlib.h"
typedef struct LinkList{ /*定义结构体*/
int data;
struct LinkList *next;
}LinkList;
LinkList *head=NULL;
static creat_tail_insert(int n) /*尾插法建表函数*/
{
int i=1;
LinkList *p,*q;
q=head;
head=(LinkList *)malloc(sizeof(LinkList));
head->next=NULL;
while(i<=n)
{
p=(LinkList *)malloc(sizeof(LinkList));
p->data=random(100);
printf("%5d",p->data);
p->next=q->next;
q->next=p;
q=p;
i++;
}
}
void printf_LinkList() /*输出链表函数*/
{
LinkList *p;
p=head;
if(p==NULL) printf("error");
else
{ printf("%5d",p->data);
p=p->next;
}
}
main()
{
randomize();
creat_tail_insert(10);
printf_LinkList();
}