中易网

输入一组正整数(以-1作为结束标志),将它们存储在一个动态链表中并输出

答案:2  悬赏:10  
解决时间 2021-02-10 05:55
输入一组正整数(以-1作为结束标志),将它们存储在一个动态链表中并输出
最佳答案
修改部分在程序中用//....//指出了
#include<iostream.h>
#include<stdlib.h>
#define len sizeof(struct link)
# define NULL 0
typedef struct link
{
int a;
struct link *next;
}NUM;
int n=0;
NUM *creat(void)
{

NUM *head=NULL,*p1,*p2;
cout<<"输入一组正数(以-1结束)";
p1=p2=(NUM *)malloc(len);
cin>>p1->a;
while (p1->a!=-1) //p1改为p2//
{
n++;
if (n==1)head=p1=p2;
else p1->next =p2;
p1=p2;
p2=(NUM *)malloc(len);
cin>>p2->a;
}
p2->next=NULL; //p2改为p1//
return head;
}
void print(NUM *head)
{
NUM *p;
p=head;
if(head==NULL)cout<<"This is an empty list";
else if(p!=NULL) //if(p!=NULL)改为while(p!=NULL)//
{
cout<<p->a ;
p=p->next ;
}
}
NUM *dele(NUM *head)
{
NUM *p1,*p2;
int i;
m=n;
p1=p2=head;
for(i=0;i<m;i++)
{
if(p1->a%2==0)
{
if(p1==head)head=p1->next;
else
if(i!=m-1)p2->next =p1->next ;
else p2->next =NULL;
n=n-1;
}
else p2=p1;
p1=p1->next ;
}
return head;
}
void main()
{
NUM *p;
p=creat();
cout<<"原链表:";
print (p);
dele(p);
cout<<endl<<"删除后的链表:";
print (p);
cout<<endl;
//少了一个}//
全部回答
无错
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
求问图上这件全黑色的剑灵服装叫什么,怎么获
个人独资企业分红,做应付股利还是应付利润啊
2 4 6 8 10 ....... 96 98 100怎样计算最简便
有一段录音,最后录到不该录得话想截掉,请高
本文使用正面描写与侧面描写相结合的手法表现
你脑子有坑啊,神精病,不要脸。你TMD的好意
s7-200能代替单片机控制系统吗
枣庄市润源粉末冶金公司地址在什么地方,想过
FYL什么意思?
excel的表格我打开视图—分页预览,拉动蓝色
金碧整体橱柜在什么地方啊,我要过去处理事情
iphone5s总是显示温度太高
我的蝾螈怎么突然肚子胀得像球似的?
华硕M2V-TVM 可以插独立显卡吗?
从辽阳下王家上高速公路到沈阳机场怎么走
推荐资讯
常州市哈通模具厂地址在哪,我要去那里办事
重庆大酒店我想知道这个在什么地方
在重庆哪里可以买到正宗的灯影牛肉!!!(正
喷绘纹身比纹身贴好处是什么?
纵横中文网与起点中文网那个网站适合新人发展
我的盛大密保和序列号都丢了,账号要怎么找回
庞北路/芦求路(路口)我想知道这个在什么地方
问大神们个问题,刷交通银行信用卡
初一到初三我左边的一个女同学总是在偷看我,
付吴邵村一村地址有知道的么?有点事想过去
站长助理应该怎么去做?是好事情吗?
烟台市牟平区民营经济发展局怎么去啊,有知道
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?