小笼包要努力 2019-10-05 14:56 采纳率: 0%
浏览 470
已采纳

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

调试之后,输入没有问题,但是不明白怎么才能正确地输出。
#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条回答 默认 最新

  • threenewbee 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;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 程序哪有错误怎么改?
  • ¥15 交换机和交换机之间的链路带宽以及主机带宽的理解
  • ¥15 ai创想家对战模式代码
  • ¥15 集合A由3个2行4列二维数组构成,从集合A中任意取一个二维数组元素、如果该二维数组元素的对应列位置的上、下两数都是奇数,而且仅有2个列是奇数/奇数,则该数组有意义,并放入集合B中打印输出。
  • ¥15 电信IPV6 无法外网访问吗
  • ¥15 有偿求效果比较好的遥感影像匹配的c++代码
  • ¥15 博主,你好,我下载了你的智能网联汽车辅助驾驶安全信息检测系统,现在不会运行,可以教我吗,
  • ¥15 怎么在excle输入下列公式
  • ¥15 Arduino,利用modbus的RS485协议,进行对外置的温湿度传感器进行数据读取
  • ¥15 vhdl+MODELSIM