第03次作业-栈和队列

Posted 朱心溁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第03次作业-栈和队列相关的知识,希望对你有一定的参考价值。

1.学习总结

1.1.   本周学习中比较重要的知识点关键词:逻辑结构,栈,队列,存储结构。

1.2.   思维导图:

 

 

  1. 2.  PTA实验作业

2.1.        题目1:7-1 jmu-字符串是否对称

2.2设计思路

定义栈S:

定义字符数组str;

定义变量len ,x  //len为数组长度;

定义指针p  //p指向str;

输入待判断的字符;

for p=0 to len/2

 入栈

for p=len/2 to len  //len为奇数时应从len/2+1开始

  出栈

 If 配对失败

 return 0  //return 0时主函数会输出no;

else

 return 1  //return 1时主函数会输出yes

2.3 代码截图

 

2.4 PTA提交列表说明

 

错误原因:编辑器没转换导致编译错误。

 

 2.1.题目2:表达式转换。

2.2,设计思路:

 定义变量i,j,flag,len,space//len为数组长度

 定义字符变量str1,str2;

 for i=0 to len

  if 是数字

   then if 要输出空格

    输出空格;

数字出栈

else if运算前有负号

 输出空格

 出栈

 

       else

         then if 是‘)’号

        直到栈顶‘(’的运算符出栈;

       else 和栈顶元素比较

          if栈顶元素优先级高

            栈顶元素出栈;

          else

             元素入栈;

2.3 代码截图

 

 

2.4 PTA提交列表说明

 

 

错误原因:  未考虑运算数前有正负号的情况导致出现错误,后来补上了这种情况。

 

                   

2.1 题目3: 银行业务队列简单模拟

2.2设计思路:

  定义队列A,B

  定义变量num,i,temp  //num为顾客总数,i为计数变量,temp参与判断A,B窗口

  输入顾客总数

  for i=0 to num

   if temp 为奇数

入队A

   else

入队B

if 队列A不为空

 输出队列A的队头

   并让其出队

else

 输出队列B的队头

  并让其出队

if 队列A B有一个不为空

 让i的值加一

if i为奇数

 if 队列A不为空

输出队列A的队头

    并让其出队

else

if   队列A不为空

输出队列A的队头

    并让其出队

 

if   队列B不为空

输出队列B的队头

    并让其出队

    

2.3代码截图

  

2.4 PTA提交列表说明

 

错误原因:提交时编译错误,一开始没看出来,最后发现未定义quene头文件以及两个队列都为空的情况,后面补上后就可以了

 

   3.截图本周题目集的PTA最后排名

3.1 栈PTA排名

 

3.2 队列PTA排名

 

3.3 我的总分:2 

4. 阅读代码

地址: https://gitee.com/justinzeng/codes/sym38zok2pc9r5a6vnite41

贴图:

 

代码功能:队列顺序存储

优点:代码简洁明了,条例清晰,值得学习。

5. 代码Git提交记录截图

  

 

 

         

 

  

 

 

以上是关于第03次作业-栈和队列的主要内容,如果未能解决你的问题,请参考以下文章

第03次作业-栈和队列

第03次作业-栈和队列

第03次作业-栈和队列

第03次作业-栈和队列

第03次作业-栈和队列

第03次作业-栈和队列