博客作业03--栈和队列
1.学习总结

2.PTA实验作业
2.1 题目1:jmu-字符串是否对称
2.2 设计思路
定义一个栈S,字符型数组str,字符型变量e,整形变量i=0
输入str
为S初始化,并将str入栈
while(i小于S->Top)
    得到栈顶元素e并出栈
    如果S->Data[i]!=e    break
    i++
如果i<S->Top则输出no
否则输出yes
2.3 代码截图

2.4 PTA提交列表说明

pta编译器选错,改成c++后通过
2.1 题目2:jmu-报数游戏
2.2 设计思路
定义一个队列Q
输入总人数n,以及规定的退出位数m
如果m大于等于n,则输出error
否则
    for i=0 to i<n
        把i入队
    while(队列元素个数不为1)
        如果元素的位置不是规定的退出位数则出队在入队
        否则输出该元素并出队      
    再输出队列中最后一个元素
2.3 代码截图

2.4 PTA提交列表说明

错误是因为将队列中最后一个元素的输出写在了else外,导致输出error后还会输出队列的第一个元素
2.1 题目1:银行业务队列简单模拟
2.2 设计思路
定义两个队列A,B
输入N位顾客的编号,奇数编号入队A,偶数编号入队B
while(A和B都不为空)
    输出A的队头元素,然后出队
    再输出A的队头元素,然后出队
    输出B的队头元素,然后出队
如果A不为空
    while(A不为空)
        输出队头元素
        出队
否则
    while(B不为空)
        输出队头元素
        出队
2.3 代码截图

2.4 PTA提交列表说明


一开始错是因为输出第二个A的元素时没有出队

然后是因为输出错了应该输出B.front
最后一次是因为格式错误了多输出了一个空格
3.1 栈PTA排名

3.2 队列PTA排名

3.3 我的总分:284
4. 阅读代码

网址 https://blog.csdn.net/xdf0101/article/details/50410030
这个是实现迷宫问题的主要代码,通过队列实现,代码时间复杂度为O(n),相比于用栈,栈需要把所有的可走方块都存进去,而队列只需要向外拓展寻找可走的点,并且队列找出来的路径是最短路径,是通过广度优先搜索方法,栈是通过深度优先搜索方法。
5. 代码Git提交记录截图


 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号