首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
admin
2015-12-30
41
问题
已知一个带有表头结点的单链表,结点结构为:
假设该链表只给出了头指针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
学硕统考专业
相关试题推荐
蒙古军西征之后,罗斯处于()的控制之下。
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
20世纪初,革命派与改良派论战的中心问题是()。
《凡尔赛和约》中,战胜国以何种方式处置德国的全部海外殖民地?()。
维也纳会议争论的焦点问题是()。
下列对凡尔赛和约中有关德国疆界问题的表述,正确是()。
广西壮族自治区的设立时间是()。
简述工农武装割据存在与发展的原因和条件。
与前两次工业革命相比,第三次科技革命在能源结构上的主要变化是()
阅读下列材料,回答问题:材料一:我们与希特勒或他们的匪帮永不会谈,永不斡旋,我们将在陆地上、海洋上、天空中与他们作战。直到把笼罩阴云于大地的一切敌人消灭为止……任何为反对纳粹主义而战斗的国家或人民,我们都支援。任何与希特勒为伍的人或国家都是我们的敌人。我
随机试题
A.偶联疫苗B.重组疫苗C.核酸疫苗D.治疗性疫苗E.immuneRNA接种对象是健康群体,主要起免疫预防作用的是()
广播电视媒介、电信媒介特有的资源是()
肺心病肺动脉高压形成的主要原因是()
子宫肌瘤引起月经量增多最主要的因素是
细菌性肺炎抗菌治疗抗菌药物一般用至:
保留金一般分()次支付。
银行可以不受贷款意向书任何内容的约束。()
保险中介的作用在于()。
下列预算中,一般不作为资金预算编制依据的是()。
已知(X,Y)服从二维正态分布,E(X)=E(Y)=μ,D(X)=D(Y)=σ2,X和Y的相关系数ρ=0,则X和Y()
最新回复
(
0
)