首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
已知一个带有表头结点的单链表,结点结构为: 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
已知一个带有表头结点的单链表,结点结构为: 假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
admin
2013-04-26
102
问题
已知一个带有表头结点的单链表,结点结构为:
假设该链表只给出了头指针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=lis七一>link,q=list一>link, //指针p、q指示第一个结点 int COunt=O; while(p!=NULL){ //遍历链表直到最后一个结点 if(COUnt
link;p=p一>link; //之后让p、q同步移动 )//while if(COUnt
data); return 1; } }//Search—k
解析
算法程序题,如果能够写出数据结构类型定义、正确的算法思想都会至少给一半以上分数,如果能用伪代码写出自然更好,比较复杂的地方可以直接用文字表达。若所给出的算法采用一遍扫描方式就能得到正确结果,可给满分15分;若采用两遍或多遍扫描才能得到正确结果的,最高给10分:若采用递归算法得到正确结果的,最高给10分:若实现算法的空间复杂度过高(使用了大小与k有关的辅助数组),但结果正确,最高给10分。
转载请注明原文地址:https://kaotiyun.com/show/jwxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
英、法这两个昔日战场上并肩作战的盟友却在巴黎和会上怒目相对,甚至以退出和会相要挟,两国的矛盾焦点是()。
1935年6月,红一、红四方面军会合后,中共中央在()召开政治局会议,决定北上创建川陕甘根据地。
简述格拉古兄弟改革的主要内容和历史意义。
“改土归流”政策的根本目的是()。
下列关于胡司战争的叙述错误的一项是()。
从鸦片战争的过程和结局可以看出,()是决定战争胜败的关键。
1951年底到1952年春,中国共产党在党政机构工作人员中开展的运动是()。
德国发动二战以后,未进攻苏联先进攻英法的主要依据是()
西汉末年,()对太初历作了系统的解释,并调整为三统历。这是中国第一部记载完整的历法。
科学技术革命包括三个既有联系又有区别的过程,下列不属于三个过程的是()。
随机试题
终身教育就是成人教育。
A.急性早幼粒细胞白血病B.急性单核细胞白血病C.慢性粒细胞性白血病D.急性T细胞性白血病纵隔淋巴结肿大常见于
33岁已婚妇女,停经2个月,突发下腹痛2小时。查体:血压100/60mmHg,心率92次/分。妇科检查:后穹窿饱满、触痛,宫颈举痛,盆腔触诊不满意。此时最恰当的检查方法是
能表示药材品质的药名是
理财顾问服务是指商业银行客户提供的()等专业化服务。
下列导游的行为中,属于违法违纪的有()。
豫菜代表性品种包括()。
以下叙述中正确的是
Hisparentshopedthecoursewould(broad)______hishorizons(视野).
A、Theeffectofordinaryaspectsoflifeonanthropology.B、Agoodsourceofinformationaboutasociety.C、Attitudestowardcul
最新回复
(
0
)