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 银行业务队列简单模拟
错误代码:
错误原因:
没有考虑只存在奇数或偶数的情况,导致最后输出的空格数目不对.