已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 项目人员管理与培训方案
- 废烟气脱硝催化剂生产线改造项目申请报告
- 塑料包装箱及盖板生产项目商业计划书
- 精炼芝麻油生产线项目商业计划书
- 吊篮安拆工安全教育试题及答案
- 药物处方试题及答案大全
- 2025年物业管理师考试实务操作冲刺押题试卷
- 汽车零部件等产线技术改造项目可行性研究报告
- 光通信元器件生产制造项目可行性研究报告
- 灾害预防和处理计划考试试题及答案
- 铁路房建段知识培训内容课件
- 诊断学课程目标和教学计划
- 航空航天标准(首件检验)AS9102
- 2025年攀枝花市仁和区事业单位秋季引才(19人)考试参考题库及答案解析
- 交通协管业务知识培训课件
- 2025山西沁水煤层气开发投资有限公司公开引进急需专业技术人员笔试题库历年考点版附带答案详解
- 万达物业培训课件
- 绿色节能1000平方米低碳办公区建设可行性研究报告
- 汉服知识竞赛试题及答案
- 分布式光伏项目投资协议书
- 标准厂房epc合同范本
评论
0/150
提交评论