




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章栈与队列315TYPEDEFSTRUCTELEMTYPEBASE2ELEMTYPETOP2BDSTACKTYPE/双向栈类型STATUSINIT_STACKBDSTACKTYPETWSBASE1TWSBASE0MTWSTOP0TWSBASE0TWSTOP1TWSBASE1RETURNOK/INIT_STACKSTATUSPUSHBDSTACKTYPE/注意此时的栈满条件IFI0TWSTOP0XELSEIFI1TWSTOP1XELSERETURNERRORRETURNOK/PUSHSTATUSPOPBDSTACKTYPEXTWSTOP0ELSEIFI1IFTWSTOP1TWSBASE1RETURNOVERFLOWXTWSTOP1ELSERETURNERRORRETURNOK/POP316VOIDTRAIN_ARRANGECHARTRAIN/这里用字符串TRAIN表示火车,H表示硬席,S表示软席PTRAINQTRAININITSTACKSWHILEPIFPHPUSHS,P/把H存入栈中ELSEQP/把S调到前部PWHILESTACKEMPTYSPOPS,CQC/把H接在后部/TRAIN_ARRANGE317INTISREVERSE/判断输入的字符串中WHILEEGETCHARWHILEEGETCHARIFSTACKEMPTYSRETURN0POPS,CIFECRETURN0IFSTACKEMPTYSRETURN0RETURN1/ISREVERSE318STATUSBRACKET_TESTCHARSTR/判别表达式中小括号是否匹配COUNT0FORPSTRPPIFPCOUNTELSEIFPCOUNTIFCOUNT1IFGX1YOLDGX1YCOLORENQUEUEQ,X1,Y/修改左邻点的颜色IFY1IFGXY1OLDGXY1COLORENQUEUEQ,X,Y1/修改上邻点的颜色IFX0S0ELSEIFM0ELSERETURNERRORRETURNOK/G325STATUSF_RECURSIVEINTN,INTRETURNP/SQRT_NONRECURSIVE327这一题的所有算法以及栈的变化过程请参见数据结构PASCAL版,作者不再详细写出328VOIDINITCIQUEUECIQUEUEQNEXTQ/INITCIQUEUEVOIDENCIQUEUECIQUEUEPDATAXPNEXTQNEXT/直接把P加在Q的后面QNEXTPQP/修改尾指针STATUSDECIQUEUECIQUEUE/队列已空PQNEXTNEXTXPDATAQNEXTNEXTPNEXTFREEPRETURNOK/DECIQUEUE329STATUSENCYQUEUECYQUEUEQBASEQREARXQREARQREAR1MAXSIZEIFQFRONTQREARQTAG1/队列满/ENCYQUEUESTATUSDECYQUEUECYQUEUEQFRONTQFRONT1MAXSIZEXQBASEQFRONTIFQFRONTQREARQTAG1/队列空RETURNOK/DECYQUEUE分析当循环队列容量较小而队列中每个元素占的空间较多时,此种表示方法可以节约较多的存储空间,较有价值330STATUSENCYQUEUECYQUEUEQREARQREAR1MAXSIZEQBASEQREARXQLENGTHRETURNOK/ENCYQUEUESTATUSDECYQUEUECYQUEUEHEADQREARQLENGTH1MAXSIZE/详见书后注释XQBASEHEADQLENGTH/DECYQUEUE331INTPALINDROME_TEST/判别输入的字符串是否回文序列,是则返回1,否则返回0INITSTACKSINITQUEUEQWHILECGETCHARPUSHS,CENQUEUEQ,C/同时使用栈和队列两种结构WHILESTACKEMPTYSPOPS,ADEQUEUEQ,BIFABRETURNERRORRETURNOK/PALINDROME_TEST332VOIDGETFIB_CYQUEUEINTK,INTN/求K阶斐波那契序列的前N1项INITCYQUEUEQ/其MAXSIZE设置为KFORI0IAVR/根据X的值决定插入在队头还是队尾QBASEQREARXQREARQREAR1MAXSIZE/插入在队尾ELSEQFRONTQFRONT1MAXSIZEQBASEQFRONTX/插入在队头RETURNOK/ENDQUEUESTATUSDEDQUEUEDQUEUE/队列空XQBASEQFRONTQFRONTQFRONT1MAXSIZERETURNOK/DEDQUEUE334VOIDTRAIN_REARRANGECHARTRAIN/这里用字符串TRAIN表示火车,P表示硬座,H表示硬卧,S表示软卧,最终按PSH的顺序排列RTRAININITDQUEUEQWHILERIFRPPRINTF“E“PRINTF“D“/实际上等于不入队列,直接输出P车厢ELSEIFRSPRINTF“E“ENDQUEUEQ,R,0/0表示把S车厢从头端入队列ELSEPRINTF
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校清真灶管理制度
- 学校考勤谁管理制度
- 学生上放学管理制度
- 学生洗浴室管理制度
- 安保部查岗管理制度
- 安全生产科管理制度
- 实行会员制管理制度
- 宠物店封闭管理制度
- 客运车安全管理制度
- 室外充电桩管理制度
- 显微根尖手术治疗
- 电网工程设备材料信息参考价(2024年第四季度)
- 《水性涂料产品介绍》课件
- 2025-2030年中国黄连素市场运营状况与发展潜力分析报告
- 新疆工程勘察设计计费导则(房屋建筑和市政基础设施项目工程设计部分)
- 2025年青岛市即墨区卫生健康局所属事业单位和公立医院招考聘用358人高频重点提升(共500题)附带答案详解
- 2025版国际贸易大宗商品交易平台合作合同3篇
- 作家助手签约标准合同范例
- 建设项目规划设计研究院2022年人才队伍建设年实施方案
- 人音版音乐七年级上册《夏夜圆舞曲》课件
- 防冲撞升降柱安装合同
评论
0/150
提交评论