首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
两个整数序列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
34
问题
两个整数序列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/qhRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
()是二战后一个调整各国贸易关系的法律框架,又是一个进行多边贸易谈判、争夺市场的场所,还是一个调解和解决争议的机构。
试述卡德纳斯改革的背景、内容、性质及意义。
詹天佑自主设计修建了中国第一条铁路是在()。
开皇五年,文帝规定每年正月五日县令出查,令百姓五党三党为一团,根据标准定户等上下,从轻制定税额,并将各户应纳税额写成定簿,是为()。
十六国时期的历史,可以划分为前后两个时期,其分界线是()。
法国里昂工人起义提出:“我们只有一个口号‘人人自由平等!’”英国宪章运动请愿书提出:“我们竭尽自由人的义务,就应享受自由人的权利。我们要求普遍选举。”这些要求表明()。①带有空想社会主义色彩②当时工人的要求还没有超出资产阶级民主主义的范畴
中国第一条自行设计修建的铁路是在()。
以数组Data[m+1]作为循环队列SQ的存储空间,front为头指针,rear为队尾指针,则执行出队操作的语句是()。
已知一个带有表头结点的单链表,结点结构为:假设该链表只给出了头指针list。在不改变链表的前提下,请设计一个尽可能高效的算法,查找链表中倒数第k个位置上的结点(k为正整数)。若查找成功,算法输出该结点的data域的值,并返回1;否则,只返回0。要求:
随机试题
在数据通信系统模型的要素中,生成传输数据的个人电脑通常被称为_______。
平面x一2y+3z+4=0的法向量为()
检验批由()组织验收。
期货交易所、期货公司及其他期货经营机构、期货保证金安全存管监控机构,应当向国务院期货监督管理机构报送( )。
出口货物的完税价格应该包括()。
一个人会开汽车就会开其他车,一个人会画画就会写艺术字,这是()。
尊重、信任学生与严格要求学生是教育工作对教师的基本要求。()
占领行动早晚会结束,它能否带来所谓“真普选”已经毫不重要,但它为社会带来的遗害却是长远的,令人痛心的。首先,它为年轻人灌输了“占领有理”的概念。先不论它的违法本质,这种“我为了你争取权利因此有权剥夺你的权利和利益”的想法是相当危险的,与专制无异!它颠覆了香
关于汇编语言程序()。
--AreyouJim?--______.
最新回复
(
0
)