当前位置:首页 > 开发语言/框架 > C语言

简单的单向链表输出有关问题,

优良自学吧提供简单的单向链表输出有关问题,,简单的单向链表输出问题,急!!void creat() { count *p1,*p2; p1=new count;p2=new count; head=p1; cin>>p2->

简单的单向链表输出问题,急!!
void creat()
{
count *p1,*p2;
p1=new count;p2=new count;
head=p1;
cin>>p2->shu;
p1=p2;
while(p1->shu!=-1)
{
p2=new count;
cin>>p2->shu;
p1->next=p2;
p1=p2;

}

p2=new count;
p2=NULL;

p1->next=p2;
p1=head;
while(p1!=NULL)   //输出,问什么停不下来?!
{
cout<<p1->shu<<endl;
p1=p1->next;
}
------解决思路----------------------
修改如下:

void creat()
{
count *p1, *p2;
p1 = new count; 
p2 = new count;
head = p1;
cin >> p2->shu;
p1->next = p2;    //加一句
p1 = p2;
while (p1->shu != -1)
{
p2 = new count;
cin >> p2->shu;
p1->next = p2;
p1 = p2;
}
//p2 = new count;
//p2 = NULL;
p1->next = NULL;
p1 = head;
while (p1 != NULL)   //输出,问什么停不下来?!
{
cout << p1->shu << endl;
p1 = p1->next;
}
}

------解决思路----------------------
从头至尾,看下逻辑,你会明白的
------解决思路----------------------
最后一个元素的next指针没有置空 

(本文来自互联网,不代表搜站(http://www.ylzx8.cn/)的观点和立场)
本站所有内容来自互联网,若本站收录的信息无意侵犯了贵司版权,请给我们来信(ylzx8cn@163.com),我们会及时处理和回复,谢谢

最近更新