首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
两个整数序列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
2017-01-04
43
问题
两个整数序列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://jikaoti.com/ti/4OfjFFFM
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
西哥特人图鲁兹建立起第一个得到罗马帝国承认的蛮族王国——西哥特王国的时间是()。
简述雅尔塔体系的内容和影响。
詹天佑自主设计修建了中国第一条铁路是在()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
文艺复兴运动兴起的时间是()。
开皇三年,隋文帝下令州县官吏根据户籍簿上登记的年龄,来核对本人体貌,以防诈老诈小逃避租役,是为()。
解放军渡江战役中横渡长江的东西两个攻击点是()。
()是二战后一个调整各国贸易关系的法律框架,又是一个进行多边贸易谈判、争夺市场的场所,还是一个调解和解决争议的机构。
设某多道程序系统中有用户使用内存1000M,打印机1台。系统采用可变分区动态分配算法管理内存,而对打印机采用静态分配。假设输入输出操作时间忽略不计,采用最短剩余时间优先的进程调度算法,进程最短剩余时间相同时采用先来先服务的算法,进程调度时机选择在进程执行结
随机试题
(2021年聊城莘县)教师从一名新手成为一个熟练的专业人员,这一过程基本是在学校发生的,起决定作用的是教师专业文化知识中的()
某锅炉操作工人,在一个通风不良条件下,连续工作3~4小时,突然感到头痛、头晕等症状。患者面色潮红,口唇呈樱桃红色。可疑的毒物中毒为
与散射光强度成反比的是
胫骨平台骨折,最容易引起的并发症是
井筒到底后,为满足快速和安全施工的要求,井底车场可能需要增加的临时工程有()。
利率风险按照来源的不同可以分为重新定价风险、收益率曲线风险、基准风险和期权性风险;就固定利率而言,()来源于银行资产、负债和表外业务到期期限错配所存在的差异。
在股利支付程序中,除息日是指领取股利的权利与股票分离的日期,在除息日股票的股东有权参与当次股利的分配。()(2014年)
在读图时代,长文案之所以仍然能够吸引读者的原因不包括()。
Pentium微处理器复位后,首先进入()工作模式。
A、Ithasbetteruniversities.B、Ithasricheducationalresources.C、Thecostofeducationislower.D、Thecompetitionislesss
最新回复
(
0
)