首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
两个整数序列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
26
问题
两个整数序列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
学硕统考专业
相关试题推荐
“我不想变成上帝,或居住在永恒之中,或者把天地抱在怀里,属于人的那种光荣对我就够了。我自己是凡人,我只要求凡人的幸福。”这句话体现的思想是()
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
巴黎和会上,英美主张把原德国在山东的权利转让给日本,华盛顿会议又表示支持中国让日本归还山东的要求,英美态度发生变化的根本原因是()。
第一国际成立前,各国无产阶级强烈要求加强国际团结的直接原因是()。
“两个凡是”
19世纪中期,德意志资产阶级迫切要求实现国家的统一,其首要的目的是()。
以孙中山为首的革命派和以康有为代表的维新派,是推动近代中国社会变革的两个重要派别。两派主张的主要分歧在于()
下列选择中,()不是操作系统关心的主要问题。
高度为7的AVL树最少有()个结点。
操作系统采用页式存储管理方法,要求()。
随机试题
Globalwarmingiscausingmorethan300,000deathsandabout$125billionineconomiclosseseachyear,accordingtoareportby
建设工程施工合同中,工程师指示的设计变更的情形不包括( )。
甲公司计划购买一台新设备来替换现有的旧设备,已知新设备的购买价格比旧设备的现时价值高120000元,但是使用新设备比使用旧设备每年可为企业节约付现成本25000元。假设公司要求的最低报酬率为8%,不考虑相关税费,则甲公司购买的新设备至少应使用()年
下列各项中,应通过“应付利息”科目核算的有()。
小强在语文学习中学会举一反三的方法后,将这种方法运用到其他科目的学习中去。这是一种()。
新华社
从关系模式中指定若干个属性组成新的关系的运算称为
查询区域名是"成都"和"重庆"的商店信息的正确命令是
CultureShock1.Whatiscultureshock?■Disorientationexperiencedwhensuddenlysubjectedto【T1】______【T1】______2.Com
Organisedvolunteeringandworkexperiencehaslongbeenavitalcompaniontouniversitydegreecourses.Usuallyitisleftto【C
最新回复
(
0
)