【发布时间】:2020-03-16 14:14:34
【问题描述】:
我正在尝试通过使用用户定义的显示函数调用用户定义的函数插入和显示来创建并插入具有 2 个节点的单链表。预期产量:- 5 10 我得到的输出是:= 5 请帮忙。
#include<iostream>
#include<stdlib.h>
using namespace std;
struct list
{
int data;
struct list *link;
};
struct list *start=NULL;
int insert(int a)
{
struct list *n,*t,*p;
n= new list;
n->data=a;
n->link=NULL;
if(start==NULL)
{
start=n;
}
else if(start!=NULL)
{
t=start;
while(t->link!=NULL)
{
t=t->link;
}
t->link=n;
}
return(0);
}
int Display(struct list *p)
{
while(p->link!=NULL)
{
cout<<p->data;
p=p->link;
}
return(0);
}
int main()
{
insert(5);
insert(10);
Display(start);
return(0);
}
【问题讨论】:
-
while (p->link != NULL)-- 你为什么要测试链接是否为NULL?问问自己应该在while循环中测试什么。如果您将名称从link更改为next,也许您会看到错误。 -
正确填充起始节点,insert()中有问题
标签: c++ data-structures linked-list singly-linked-list