关于数据结构中的单链表的输出问题。

关于数据结构中的单链表的输出问题。

问题描述:

调试之后,输入没有问题,但是不明白怎么才能正确地输出。
#include
#include
using namespace std;

typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;

LinkList InitList(LinkList &L);
LinkList CreatList_H(LinkList &L,int n);
void ShowList(LinkList L);

LinkList InitList(LinkList &L)
{
L=new LNode;
L->next=NULL;
if(!L)
{
cout<<"创建失败!"<<endl;
return 0;
}
cout<<"创建成功!"<<endl;
return L;
}

LinkList CreatList_H(LinkList &L,int n)
{
L=new LNode;
L->next=NULL;
int i;
cout<<"请输入链表中的元素:";
for(i=0;i {
LNode *p;
cin>>p->data;
p->next=L->next;
L->next=p;
}
return L;
}

void ShowList(LinkList L)
{
LinkList p;
p=L->next;
cout<<"链表为:";
while(p!=NULL)
{
cout<data<<" ";
p=p->next;
}
cout<<endl;
}

int main()
{
LinkList L;
int n,i;
L=InitList(L);
cout<<"请输入元素个数:";
cin>>n;
CreatList_H(L,n);
ShowList(L);
return 0;
}

void ShowList(LinkList L)
{
LinkList p;
p=L->next;
cout<<"链表为:";
while(p!=NULL)
{
cout<data<<" ";
p=p->next;
}
cout<<endl;
}
这里就不对
void ShowList(LinkList L)
{
LinkList p;
p=L->next;
cout<<"链表为:";
while(p!=NULL)
{
cout<<p->data<<" ";
p=p->next;
}
cout<<endl;
}

LinkList CreatList_H(LinkList &L,int n)
这里你到底是通过直接修改L来初始化,还是通过返回初始化,两者矛盾

for(i=0;i < n; i++) { //这里你也没写出来
LNode *p = new LNode; //这里要初始化
cin>>p->data;
p->next=L->next;
L->next=p;
}