未显示插入链表中的元素

问题描述 投票:0回答:1

我正在尝试通过使用用户定义的显示函数调用用户定义的函数插入和显示来创建并插入到具有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);
}
c++ data-structures linked-list singly-linked-list
1个回答
0
投票

顺序很重要。首先打印节点数据,然后遍历链接。一旦进入最后一个节点,使用您的代码,就不会打印数据,因为该节点没有链接,这是不正确的。

int Display(struct list *p)
{ 
    cout<<p->data;
    while(p->link!=NULL)
    {
        p=p->link;
        cout<<p->data;
    }
    return(0);

}
© www.soinside.com 2019 - 2024. All rights reserved.