DS博客作业03--栈和队列
1.本周学习总结(0--1分)
通过这两周的学习,我初步了解了栈和队列的用法,我个人感觉栈和队列的难度还好,相比于前面的链表思路更加清晰,也体会到了这两种数据结构的简便性。
栈是一种运算受限的线性表,向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。
queue和stack这两个头文件的使用让我更加喜爱上了c++这门编程语言,加快了我的日常编程效率,本来枯燥却易错的建立存储结构和出入队列堆栈过程变得快速且稳定
2.PTA实验作业(6分)
2.1.6-2 在一个数组中实现两个堆栈 (20 分)
2.1.1设计思路
函数体不要写设计思路。编程题用文字描述设计思路。(可不写伪代码)
2.1.2代码截图
2.1.3本题PTA提交列表说明。
第一次只有两分部分正确没记错的话应该是++x和x++没搞清楚(准确的说是算错了)只有部分正确
2.2.6-11 另类循环队列 (20 分)
2.2.1设计思路
函数体不要写设计思路。编程题用文字描述设计思路。(可不写伪代码)
2.2.2代码截图
2.2.3本题PTA提交列表说明。
错了好多次555 一开始的两分只有为空是正确的(其实就是错了)后面的十四分弄了好多次,是我发现我忘记%Q->MaxSize
我很激动的再次提交PTA,发现变成了两分。。。。然后调试下发现结果变了,原来取余后Q->Count的顺序需要改变了。
2.3.7-6 银行业务队列简单模拟 (25 分)
2.3.1设计思路
用C++语法定义头文件QUEUE使得算法简便,然后让奇偶数分别入两个栈q p
在利用TIME函数和if语句使得两次Q出栈在出栈一次P
2.3.2代码截图
2.3.3本题PTA提交列表说明。
一开始循环内忘了出栈 导致进入死循环。
2.4.7-1 jmu-字符串是否对称 (20 分)
2.4.1设计思路
简单题,建立两个字符数组A和B,使得A入栈后出栈使得顺序倒置,再加入‘0’结尾,通过strcmp函数判断是否相等
2.4.2代码截图
2.4.3本题PTA提交列表说明。
这题比较简单,知错了一次,第一次是忘记加B的结尾字符‘0‘然后就顺利AC了
3、栈和队列上机考试(-3--3分)
3.1
6-1 在一个数组中实现两个堆栈 (15 分)
这题错的真的很难受,一开始我试着打出PTA需要审核的三个函数,然后发现答案错误,这是在意料之中的,然后我i想把oPERATE
uP 函数和PRINTf打出 没想象到OPERATRE函数出了问题(后来发现双引号打成单引号,难过5) 于是我想直接在PTA上调整这三个函数,可到结束都还是0分
后来出来后我第一时间看着题,哭了,如图17到20行出我没有RETURN 这可是个BOOL类型的函数,现在就是后悔,非常的后悔。
3.2
7-1 符号配对 (20 分)
当时做了这题的前一题Jmu的符号配对,然后看了下一题浙大版的符号配对,看了下觉得有思路但是又觉得太麻烦了,觉得太难了考试不会考(我能说我两题考前还没做完的都考了吗)就没打,考试的时候照着jmu符号配对的思路去想,加上也没什么时间了,自然而然没有打出来,看来我的代码量还是太少了,本来如果考前认真点应该可以做出来的,只能下次再努力了。