首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
考研
设单链表的表头指针为h,链表中结点构造为(data,next),其中data域为字符型,链表长度为n。编写算法判断该链表的n个字符是否中心对称。(例如xyx,xyyx都是中心对称。)
设单链表的表头指针为h,链表中结点构造为(data,next),其中data域为字符型,链表长度为n。编写算法判断该链表的n个字符是否中心对称。(例如xyx,xyyx都是中心对称。)
admin
2013-12-31
36
问题
设单链表的表头指针为h,链表中结点构造为(data,next),其中data域为字符型,链表长度为n。编写算法判断该链表的n个字符是否中心对称。(例如xyx,xyyx都是中心对称。)
选项
答案
int Centrosymmetric(LinkList h,int n){ char s[];int i=1; //i记结点个数,s字符栈 LNode*p=h->next; //p是链表的工作指针,指向待处理的当前元素 for(i=1;i<=n/2;i++){ //链表前一半元素进栈 s[i]=p->data; p=p->next; } i--; //恢复最后的i值 if(n%2==1)p=p->next; //若n是奇数,后移过中心结点 while(p! =NULL&&s[i]==p->data){//测试是否中心对称 i--: p=P->next: } if(p==NULL)return 1; //链表中心对称 else return 0; //链表非中心对称 } 算法中先将“链表的前一半”元素(字符)进栈。当n为偶数时,前一半和后一半的个数相同;当n为奇数时,链表中心结点字符不必比较,移动链表指针到下一字符开始比较。比较过程中遇到不相等时,立即退出while循环,不再进行比较。
解析
转载请注明原文地址:https://kaotiyun.com/show/XSxi777K
本试题收录于:
计算机408题库学硕统考专业分类
0
计算机408
学硕统考专业
相关试题推荐
婆罗门教的经典和主要教义。
下列选项中,不是由晁错提出的是()
下列事件中,不是发生在上海的是()
苏俄实施新经济政策的根本目的是()。
简述苏联和南斯拉夫之间的冲突。
晚清时期清帝年号的正确排序是()
埃及巴达里文化、涅伽达文化工、涅伽达文化Ⅱ三个阶段属于什么时代的文化?()
5位二进制定点小数,用补码表示时,最小负数是()。
计算机在进行浮点数的相加(减)运算之前先进行对阶操作,若x的阶码大于y的阶码,则应将()。
随机试题
心肌梗死的发热很少超过()
下列行为人以他人的名义而进行的“代理”活动,是无权代理的有( )。
在以下的合同中,( )属于效力待定的合同。
某石油化工企业在进行总平面设计时,明火加热炉宜集中布置在装置的边缘,且位于可燃气体、液化烃、甲B类液体设备的()。
下列关于民事诉讼管辖的说法中,正确的是()。
下列不属于广告监理管理的行政许可的是()。
某人购得一条电热毯,在使用时因该电热毯漏电而受伤害,如果他向法院起诉,法律保护其请求权的诉讼时效期间为()。
Thecentralgovernmenthopestocurtailmilitaryspendinginthenextyear.
Facialtattooingisastandard______amongcertainpeoples.
Work-lifeBalance:FlexAppealGeorginaBlizzardandNickyImriedecidedtheyneededtofindamoreflexibleworkingpattern
最新回复
(
0
)