首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
两个整数序列A=a1,a2,a3,…,am和B=b1,b2,b3,…,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。
两个整数序列A=a1,a2,a3,…,am和B=b1,b2,b3,…,bn已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。
admin
2019-08-15
44
问题
两个整数序列A=a
1
,a
2
,a
3
,…,a
m
和B=b
1
,b
2
,b
3
,…,b
n
已经存入两个单链表中,设计一个算法,判断序列B是否是序列A的子序列。
选项
答案
typedef struct LNode{ int data; struct LNode *next; } *Linkedlist; int Pattern(LinkedList A,B){ //A和B分别是数据域为整数的单链表,本算法判断链表B是否是 //链表A的子序列。如是,返回1;否则,返回0,表示失败。 Linkedlist *P,*pre,*q; P=A; //p为链表A的工作指针,本题假定链表A和链表B均无头结点 pre=P; //pre记住每趟比较中链表A的开始结点 q=B; //q是链表B的工作指针 while(p&&q) if(p一>data==q一>data){P=p一>next;q=q->next; } else{ pre=pre一>next;P=pre; //链表A新的开始比较结点 q=B; //q从链表B第一结点开始 if(q==null)return(1); //链表B是链表A的子序列 else return(0); //链表B不是链表A的子序列 } }//算法结束 提示:本题实质上是一个模式匹配问题,这里匹配的元素是整数而不是字符。因两整数序列已存入两个链表中,操作从两链表的第一个结点开始,若对应数据相等,则后移指针;若对应数据不等,则链表A从上次开始比较结点的后继开始,链表B仍从第一结点开始比较,直到链表B到尾表示匹配成功。链表A到尾链表B未到尾表示失败。操作中应记住链表A每次的开始结点,以便下趟匹配时好从其后继开始。
解析
转载请注明原文地址:https://kaotiyun.com/show/RlCi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
试分析太平天国革命运动对中国社会的历史影响。
三国同盟和三国协约两大军事集团最终形成的时间是()。
我国发明生铁冶炼技术是在()。
电子计算机的发展经过了四代,①电子数值积分计算机(ENIAC);②集成电路计算机;③大规模集成电路计算机;④晶体管计算机;⑤人工智能计算机,其先后顺序是()。
国民党政府宣布民盟为“非法团体”,民盟总部被迫解散的时间是()。
西周的分封制相当发达,是西周的重要政治制度,也是西周历史的一个显著特点。根据所学知识,回答问题在武王灭商和周公东征的过程中立有大功,或与周有世代同盟关系的异姓贵族也被分封去建立诸侯国家,继续为周王室效力,下列国家:①齐②鲁③燕④宋,属于异姓诸侯国的是(
假定有一条通带为100kHz的信道,每路信号的带宽为3.2kHz,各路信号间的防护带宽为0.8kHz。若采用频分多路复用,那么最多可以同时传输()路信号。
下列的网络协议中,()的运输层协议是使用TCP的。
以下说法中,错误的是()。
描述滑动窗口机制及其作用。比较停止一等待协议,多帧滑动窗口和后退N帧协议,多帧滑动窗口与选择重传协议的区别。
随机试题
β2受体
平滑或软组织算法不用于显示
A.黏液血便B.大便的次数和便血程度C.腹痛程度D.腹胀E.肠外表现溃疡性结肠炎活动期的重要表现是
患者低热,午后热甚,胸闷脘痞,不思饮食,渴不欲饮,呕恶,大便稀薄,舌苔黄腻,脉濡数。其证候是
A.三拗汤B.都气丸C.大青龙汤D.麻杏石甘汤合苏葶丸E.小青龙汤合三子养亲汤治疗热性哮喘的首选方剂是
卡介苗预防接种,进针角度为
脑灌注压是指
下列各项中,关于交易性金融资产表述不正确的是()。(2012年改编)
Hedidn’tfeellike______,sohetookataxi.
MostscholarsagreethatIsaacNewton,whileformulatingthelawsofforceandgravityandinventingthecalculusinthelate16
最新回复
(
0
)