首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。 要求:
admin
2015-12-30
65
问题
已知一个带有表头结点的单链表,结点结构为:
假设该链表只给出了头指针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
学硕统考专业
相关试题推荐
“我军第二年作战的基本任务是:举行全国性的反攻,即以主力打到外线去,将战争引向国民党统治区域,在外线大量歼敌……”正确体现这一战略方针的军事行动是()
中国共产党领导下的民族区域自治模式最早是在()。
1933年5月,冯玉祥在张家口组织()。
下列对凡尔赛和约中有关德国疆界问题的表述,正确是()。
第一次鸦片战争过程中,清政府在()时对英国侵略者的态度发生了转变。
1837年倡导用无机肥料来补充土壤中耗去的化学元素的化学家是()。
如何全面分析十月革命的历史条件及特点?
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
到1869年为止,人类已发现了多少种化学元素()。
荷兰国旗问题:设有一个仅红、白、蓝三种颜色的条块组成的条块序列,请编写一个时间复杂度为O(n)的算法,使得这些条块按红、白、蓝的顺序排好,即排成荷兰国旗图案。
随机试题
关于书刊印制,说法错误的是()。
解释下列句子中划线的词语孟尝君曰:“食之,比门下之鱼客。”
在外汇标价方法的选择上,我国采用的方法是()。
下列有关资产减值准备的论断中,正确的有( )。
中外合资经营企业如增加注册资本,其程序有()。
被称为心理学的“第三势力”的是()
计算机病毒的特点是【 】。
请编写函数voidcountValue(int*a,int*n),它的功能是:求出1到1000之内能被7或11整除但不能同时被7和11整除的所有整数并存放在数组a中,并通过n返回这些数的个数。注意:部分源程序已给出。请勿改动主函数ma
Lookatthestatementsbelowandthefivenewsitemsonvariouscompaniesontheoppositepage.Whichreport(A,B,C,DorE)doe
Topuniversitieshavebeencalledontopublishlistsof"banned"A-levelsubjectsthatmayhavepreventedthousandsofstates
最新回复
(
0
)