DS博客作业03--栈和队列

1.本周学习总结

个人感觉相对于之前的学习,栈与队列更好理解
但是由于栈只能从栈顶出栈和队列只能从队首出队的特殊构造,在写题目的时候还是有不少困扰.
还有就是算法上细节上的处理,因为编程量较大,所以很容易就出现一些错误.
还有就是相关容器的使用,是栈和队列的使用方便了不少.

2.PTA实验作业

2.1.题目1:6-3 jmu-ds-是否合法出入栈操作

2.1.1设计思路

循环判断字符数组中的时I还是O
如果是i则将1入栈
如果是O则pop(),若此时的栈为空,则直接返回 false
循环结束 返回 true.

2.1.2代码截图

2.1.3本题PTA提交列表说明

写这道题时还不了解相关容器如何使用,在请教同学之后才明白.

2.2.题目2:6-12 jmu-ds-舞伴问题

2.2.1设计思路

该队列不是循环队列,使用队列长队为队尾减队头,
判断是男性还是女性,将其放入相应的队列.
两个队列的队头同时出队,直至其中一个队列为空.
输出剩余的人数

2.2.2代码截图

2.2.3本题PTA提交列表说明

由于太久没有复习导致忘记结构体的部分内容

2.3.题目1:7-0 jmu-ds-栈与队列-stack、queue与string小综合

2.3.1设计思路

应用相关容器来建栈与队列,在字符串进入栈之后,先打印出栈顶元素,并输出长度,
接着在元素出栈并打印,之后判断是否为制定元素,如不是则入队.最后输出队列的长度并将队列中的元素遍历输出

2.3.2代码截图

2.3.3本题PTA提交列表说明

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

2.4.1设计思路

先对符号进行判断,如果是左括号就存入栈中,如果是右括号就与栈中的元素配对,如果此时的栈为空,则结束循环输出;
若左右括号契合则消除栈顶元素,直至最后一个括号.
如果此时的栈为空,则说明全部匹配,栈不空则为不匹配,输出栈顶元素.

2.4.2代码截图


2.4.3本题PTA提交列表说明

3、栈和队列上机考试

题目一:6-2 另类循环队列

错误代码:

错误原因:

循环队列的知识没有熟练掌握,导致在考试时忘记重要操作.

改正代码:

题目二:7-2 银行业务队列简单模拟

错误代码:



错误原因:

没有考虑只存在奇数或偶数的情况,导致最后输出的空格数目不对.

改正部分

posted @ 2019-04-21 11:16  blame  阅读(895)  评论(0编辑  收藏  举报