高手进来看一下吧!关于链表的一个问题谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/29 04:49:18
//后插入链表中的各个数据
#include "iostream.h"
#include "stdlib.h"
struct linklist
{
int num;
struct linklist *next;
};
struct linklist *creat()
{
int i;
struct linklist *head,*p,*q;
p=(struct linklist*)malloc(sizeof(struct linklist));
cout<<"输入数据"<<endl;
cin>>i;
p->num=i;
p->next=NULL;
head=p;
while(i)
{ p=(struct linklist*)malloc(sizeof(struct linklist));
q=p;
cout<<"输入数据"<<endl;
cin>>i;
p->num=i;
p->next=NULL;
q->next=p;

// p=p->next;

}
return head;
}
void show(struct linklist *head)
{
while(head!=NULL)
{
cout<<head->num<<endl;
head=head->next;
}
}
void main()
{ struct linklist *head;
head=NULL;
head=creat();
show(he

你的head->next一直为空,仔细看看,循环开始的时候p就指向新的单元了
while(i)
{ p->next=(struct linklist*)malloc(sizeof(struct linklist));
q=p->next;
cout<<"输入数据"<<endl;
cin>>i;
q->num=i;
p=q;
//q->next=p;

// p=p->next;

}
q->next=NULL;
胡乱改了几句,我也刚学链表,0也给输出了

这题至少值15分
关键你错的太多了,20分给你满意答复