数据结构题目,建立一个10个节点的链表,然后删除第5个节点,查找第7个节点并打印,c语言啊求解

赵鹤亮 2019-11-05 19:38:00

推荐回答

#include#includetypedefstructLNode{intdata;structLNode*next;}LNode,*Llist;LNode*creat_head;//创建一个空表voidcreat_listLNode*,int;//创建一个长度为n的线性链表voidinsert_listLNode*,int,int;//插入一个元素intdelete_listLNode*,int;//删除一个元素main{LNode*head,*p;intn;intx,i;intb;clrscr;head=creat_head;printf"n=";scanf"%d",&n;creat_listhead,n;forp=head->next;p!=NULL;{printf"%d",p->data;p=p->next;}printf"*****************************************************";printf"x=";scanf"%d",&x;printf"inserti=";scanf"%d",&i;insert_listhead,x,i;forp=head->next;p!=NULL;{printf"%d",p->data;p=p->next;}printf"*********************************************************";printf"deletei=";scanf"%d",&i;b=delete_listhead,i;forp=head->next;p!=NULL;{printf"%d",p->data;p=p->next;}printf"deleteb=%d",b;getch;}//创建一个空链表LNode*creat_head{LNode*p;p=LlistmallocsizeofLNode;p->next=NULL;returnp;}//创建一个长度为n的线性链表voidcreat_listLNode*head,intn{LNode*p,*q;inti;p=head;fori=1;idata;q->next=NULL;p->next=q;p=q;}}//插入一个元素voidinsert_listLNode*head,intx,inti{intj=0;LNode*p,*s;p=head;whilep!=NULL&&jnext;j++;}ifp==NULLexit0;s=LlistmallocsizeofLNode;s->data=x;s->next=p->next;p->next=s;}//删除一个元素intdelete_listLNode*head,inti{LNode*p,*q;intj=0;intx;p=head;whilep!=NULL&&jnext;j++;}ifp==NULLexit0;q=p->next;p->next=q->next;x=q->data;freeq;returnx;}大哥这可是我一个字符一个字符的敲进去的啊~~~!!!我是学软件工程的,这是线性表的链式存储结构.。
赵颖莹2019-11-05 20:36:47

提示您:回答为网友贡献,仅供参考。

其他回答

  • 同学:我看了你的程序:注释了你看一下;最主要的错误时没有释放你删除的节点,再有每次你都要从首节点开始遍历查找所以,p1要始终指向首节点希望你能采纳voidDeletestructStudent*Head,intnum{structStudent*p1,*p2;ifHead->Next=NULL//Head->Next==NULL;是这里错了printf"该表是空表!";//空表p1=Head->Next;ifp1->Number==numHead->Next=p1->Next;//删除链表第一个数据freep1;//要释放到你删除的节点,否则会造成内存泄露p1=Head->Next;//让p1继续指向第一个有效节点whilep1->Next!=NULL{p2=p1;p1=p1->Next;}ifp1->Number==nump2->Next=NULL;//删除链表最后一个数据freep1;//要释放到你删除的节点,否则会造成内存泄露p1=Head->Next;//让p1继续指向第一个有效节点whilep1->Next!=NULL{p2=p1;p1=p1->Next;ifp1->NUmber==nump2->Next=p1->Next;freep1;//要释放到你删除的节点,否则会造成内存泄露break;//删除中间的数据}。
    齐晓彤2019-11-05 20:19:10
  • temp=p;p=p->next;temp->next=NULL;这三句存在问题,temp=p,让temp指向p所指向的节点,p=p->next,p指向后移temp->next=NULL,让temp的后继为空,这里出了问题,链表从temp指向的节点断开,相当于删除p之后的所有节点。应该先判断p是不是最后节点ifp->next==NULL如果是,只好去找p的前趋pre,让pre->next=NULL,freep如果不是最后节点,将p的后继节点数值域复制给p,然后将p的后继节点删除,等同与删除pp->data=p->next->data;p->next=p->next->next;freep。
    齐显民2019-11-05 20:03:35

相关问答

一、飞逝的巨礁:1866年起,出现了一件大怪事。海洋中发现一个庞然大物,就像飞逝的巨礁,多艘航船莫名其妙的被撞裂了。公众坚决要求把着头怪物从海洋里清除掉。二、赞成与反对:对怪物主要有两派看法,一派认为是一种力大无穷的怪物,另一派则认为是一艘动力强大的“海下船”。我”并被这种奇妙景象惊呆了。晚上鹦鹉螺号在白色的海水中行了几个小时,我还向孔塞伊解释了这种海水形成的原因。二十六、尼摩艇长建议去参观一下采珠场,并向我解释了采珠人的工作,后来又问我怕不怕鲨鱼。艇长离开后,孔塞伊与内德走进客厅,也知道了这个建议。我老想着有危险。我给他们详细讲了采珠的事。我问他们怕不怕鲨鱼,而他们都不怕。二十七、第二天,我们来到海岸,然后下海,走到珠母沙洲。艇长带我们走到一个洞里,里头有个巨大无比的珠母,而且有个椰子大的珍珠。只有他知道。出了岩洞,返回珠母沙洲,我们救了一个被鲨鱼咬伤的采珠人。尼摩艇长杀了鲨鱼,还抢救了采珠人,最后给了他一小袋的珍珠。回到大船后,艇长表示自己永远站在被压迫国家的人民那一边。二十八、红海:鹦鹉螺号在红海上劈波斩浪。尼摩艇长跟我介绍红海得名的原因和他发现从红海通往地中海的地下通道“阿拉伯隧道”的经过。二十九、阿拉伯隧道:内德。兰德在红海上用捕鲸叉勇敢地击杀庞大的儒艮。尼摩艇长亲自指挥,潜水艇顺利穿过苏伊士地峡。三十、希腊群岛:尼摩艇长把大量的黄金赠送给一个潜水员。鹦鹉螺号来到桑多林岛附近,我目睹了海底火山喷发的壮观奇景。三十一、地中海上的四十八小时:鹦鹉螺号在地中海底穿行,我看到许多的遇难船只的残骸静卧在那里,惨不忍睹。三十二、维哥湾:潜艇正沿着葡萄牙海岸行驶,内德。兰德做好了潜逃的准备,敦促我逃跑,我心里很矛盾,很不安。潜艇在维哥湾停了下来,艇长给我讲述一七0二年西班牙船只被英国海军战败沉没的历史,他命令艇员潜水搬取当年沉船上数不尽的金银珍宝。三十三、失踪的大陆:潜艇背向欧洲驶去,离大陆越来越远,我们失去了一次逃跑的机会。尼摩艇长带我在夜间到三百米深的大西洋底去参观柏拉图笔下的大西洋城——亚特兰蒂斯。三十四、海底煤矿:潜艇来到一个已经熄灭了的火山中心取燃料,我和同伴出去游览了一通。三十五、马尾藻海:潜艇来到马尾藻海。下潜到海底一万六千米的深度竟安然无恙。三十六、抹香鲸和长须鲸:鹦鹉螺号驶向南大西洋海域,海面上出现了一群长须鲸,捕鲸手内德。兰德向艇长请求让他去捕杀,却被艇长劝住了。艇长说,人类不应该滥杀这种善良无害的动物。不一会儿,来了一大群长须鲸的天敌——抹香鲸,鹦鹉螺号为了保护长须鲸狠狠地冲杀抹香鲸。三十七、大冰盖:鹦鹉螺号开往终年积雪结冰的南极圈,冲撞大冰盖,浮出水面。三十八、南极:我和尼摩艇长登上南极大陆,观察到南极特有的美丽景观。三十九、大事故还是小插曲:潜艇在驶离南极时,被一大块倒下来的冰块砸到了,潜艇一时找不到出路,陷入困境。四十、缺氧:潜艇四周都围着厚厚的冰墙。艇长镇定自若地指挥大家轮班开凿冰墙,喷射开水阻止新的结冰。艇内极度缺氧,但秩序井然。经过共同努力,潜艇终于冲出冰墙,冲破冰原,呼吸到了新鲜的空气。四十一、从合恩角到亚马逊河:潜艇从大西洋往北,沿着南美洲的曲折海岸行驶,在亚马逊河口,我们用印颈鱼作饵来钓海龟。四十二、章鱼:潜艇来到留卡斯群岛附近,突然围上一群大章鱼。章鱼缠住螺旋桨,潜艇动弹不得。在艇顶平台上,人和章鱼展开了激烈的搏斗。在生死关头,尼摩艇长挺身而出救下了处于死亡边沿的内德。兰德。四十三、墨西哥湾暖流:尼摩艇长为在人鱼大战中牺牲的艇员而哀伤。鹦鹉螺号继续向北,航行在墨西哥湾暖流上。艇长将自己的研究总结用几种不同的语言写成,签上名字,装进一只容器中扔进大海,希望能为人类所得。我向他提出离开潜艇的要求遭到拒绝。暴风雨来临,艇长站在艇顶迎接风浪,岿然不动。四十四、北纬47度24分,西经17度28分:尼摩艇长潜入海底凭吊英勇不屈的复仇者号。四十五、大屠杀:一艘战舰向潜艇发起攻击,经过几番周旋,潜艇将战舰撞沉,艇长获得了一份复仇的快感。四十六、尼摩艇长最后的话:我逃离潜艇前听到他正在静静地忏悔;我们三人利用附在潜艇上的小艇逃跑,可恰在此时,潜艇被卷入了大旋流中,我们的小艇也难逃厄运。四十七、尾声:我和两个同伴被罗佛丹群岛的渔民救起。尼摩艇长及其鹦鹉螺号一起下落不明。海底两万里。