首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
两个整数序列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
2018-08-12
54
问题
两个整数序列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/IcRi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
1901年6月,发表《立宪法议》,首先提出君主立宪要求的是()。
下列城市:①南京②厦门③天津④杭州,按其在近代历史上开放为商埠的时间先后顺序排列应该是()
解放军渡江战役中横渡长江的东西两个攻击点是()。
明朝灭亡后,以下南明小朝廷存在的先后顺序是()。①绍武政权②永历政权③隆武政权④弘光政权
1940年毛泽东的《新民主主义论》:“而所谓民主主义,现在已不是旧范畴的民主主义,已不是日民主主义,而是新范畴的民主主义,而是新民主主义”。毛泽东分民主革命的两个阶段主要依据是
解放军渡江战役中横渡长江的东西两个攻击点是()。
下列选择中,()不是操作系统关心的主要问题。
指令系统字长16位,每个地址码为6位,采用扩展操作码的方式,试设计14条二地址指令,100条一地址指令,100条零地址指令。(1)画出操作码的扩展形式。(2)下图为指令译码逻辑图,其中只给出了二地址指令的译码逻辑,试补全一地址指令和零地址指令的
随机试题
一但断电,剪贴板中的内容不复存在。()
患者周某,女,45岁。因“风心病、房颤”入院,主诉心悸、头晕、胸闷、四肢乏力,护士为其诊脉时发现脉搏细速、不规则,同一单位时间内心率大于脉率,听诊心率快慢不一,心律完全不规则,心音强弱不等。此脉搏称为
旋毛虫病患者血清检查下列哪项明显升高
在贮藏期间容易泛油的药物是
A、自溶酶B、M蛋白C、脂溶性色素D、透明质酸酶E、血浆凝固酶与超敏反应性疾病有关
下列属于副井系统硐室的是()。
吊顶面板的安装方法常有()。
张先生,男,35岁,干部。身高180cm,体重76公斤,胸围136cm。请计算张先生午餐需要碳水化合物()。
在下列体育教学方法中,哪一种方法不是以语言传递信息为主的体育教学方法?()
Supermarketshoppershaveneverbeenmorespoiltforchoice.Butjustwhenwethoughttraditionalsystemsofselectivefarmingh
最新回复
(
0
)