首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
admin
2015-12-30
85
问题
已知一个带有表头结点的单链表,结点结构为:
假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。
要求:
根据设计思想和实现步骤,采用程序设计语言描述算法(使用C、C++或Java语言实现),关键之处请给出简要注释。
选项
答案
算法实现: typedef int ElemType;//链表数据的类型定义 typedef struct LNode{//链表结点的结构定义 ElemType data;//结点数据 struct Lnode *link;//结点链接指针 } *LinkList; int Search_k(LinkList list,int k){ //查找链表list倒数第k个结点,并输出该结点data域的值 LinkList p=list->link,q=list->link;//指针p、q指示第一个结点 int count=0, while(p!=NULL){//遍历链表直到最后一个结点 if(count<k) count++;//计数,若count<k只移动p else q=q->link;p=p->link;//之后让p、q同步移动 }//while if(count<k) return 0,//查找失败返回0 else{//否则打印并返回1 printf("%d",q->data); return 1, } }//Search k
解析
考查链表的查找操作,查找链表中倒数第k个结点。
转载请注明原文地址:https://kaotiyun.com/show/ZKxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
中国第一条自行设计修建的铁路是在()
国民党的第一次代表大会上通过的《中国国民党第一次全国代表大会宣言》,其内容不包括()
中古时代实行索贡巡行赋税征收方式的国家是()。
列宁在()中系统地阐明了马克思主义的国家学说。
如何全面分析十月革命的历史条件及特点?
德里苏丹国前三位苏丹均为奴隶,同时皆属于()。
在平衡二叉树中的每个结点上增设一个Lsize域,其值为它的左子树中的结点个数加1,试写一个时间复杂度为O(logn)的算法,确定树中第k个结点的位置。
有一个仓库,可以存放A和B两种产品,但要求:(1)每次只能存入一种产品(A或B);(2)-N<A产品的数量-B产品的数量<M。其中,N和M是正整数。试用P,V操作描述产品A与产品B的入库过程。
随机试题
患者休养适宜的环境是
关于放纵走私罪,下列哪些选项是正确的?()
在考生文件夹下有一个工程文件sjt5.vbp,相应的窗体文件为sjt5.tim,此外还有一个名为datain.txt的文本文件,其内容如下:32437658281298573142536475869713243546576879805937
Sixyearslater,inanabout-face,theFBIadmitsthatfederalagentsfiredteargascanisterscapableofcausingafireatthe
(1)Whilethemissionofpublicschoolshasexpandedbeyondeducationtoincludesocialsupportandextra-curricularactivities,
A、Lowerthepriceofthepark’sadmissionticket.B、Banallcommercialactivitiesheldinthepark.C、Buildatheatreinthepar
GaspricewarningascoldMarchleadstoshortsuppliesThecoldsnapinMarchcouldleadtoBritain’sgassuppliesrunning
A、Havingabreak.B、Continuingthemeeting.C、Movingontothenextitem.D、Waitingalittlelonger.A
A、Getsomeavailableinformationaboutthepost.B、Haveabetterunderstandingofhisopponents.C、Showhisinterestandconfide
1958年,一位日本人发明了方便面(instantnoodle)。虽然它没什么营养(nutrition)却因为美味并能遏制饥饿,所以在诞生后迅猛发展。目前,中国已经成为世界上最大的方便面生产国和消费国。中国方便面的年产量大约为500亿包,占全球总产量的5
最新回复
(
0
)