LImanong
小小白。。
采纳率100%
2019-10-05 14:56 阅读 398

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

调试之后,输入没有问题,但是不明白怎么才能正确地输出。
#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;
}

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

1条回答 默认 最新

  • 已采纳
    caozhy 从今以后生命中的每一秒都属于我爱的人 2019-10-05 17:07
    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;
    }
    
    点赞 评论 复制链接分享

相关推荐