请教一个关于单链表的创建和输出问题
#include <iostream.h>
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
int date;
struct node *next;
}slnode,*Linklist;
void initiate(Linklist L)//初始化单链表//
{
L=(Linklist)malloc(sizeof(slnode));
L->next=NULL;
}
linklist creat_list()//创建链表//
{
Linklist L;
initiate(L);
int n;
cout<<"请输入结点数"<<endl;
cin>>n;
L->date=n;
cout<<"请输入结点数据"<<endl;
for(int i=0;i<n;i++)
{
Linklist p;
p=(Linklist)malloc(sizeof(slnode));
cin>>p->date;
p->next=L->next;p=L->next;
};
return L ;
}
void display_list(Linklist L)//输出链表
{
cout<<"输出"<<endl;
Linklist p;
for(int i=0;i<L->date;i++)
{
p->next=L->next;
p=L->next;
cout<<p->date;
};
}
void main()
{
Linklist p;
p=creat_list();
display_list(p);
}
出入结点数后,该程序就运行不起来了!