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

1.本周学习总结
  • 栈和队列的理解很简单,但是实际运用很麻烦。要用栈,队列这种结构去解决问题,是很令人费解的,例如在一个数组中实现两个堆栈 ,定义两个头尾指针看似简单,但是实际操作起来怎样都无法正确写出那道题。从网络上借鉴了很多例子,依然是编译错误 很受打击,简要的逻辑大家都明白,只是把它转化成代码实在是有些难度。需要去更多背诵一些代码,我想能够有更多简单一点的题目,大概使我能够对多一点点吧。
2.PTA实验作业

2.1.题目1:6-1 另类堆栈

2.1.1设计思路

 栈头是否等于最大值 等于则是满,如果!S->Top,则是空。

2.1.2代码截图

1490929-20190421165337467-1216317706.png

2.1.3本题PTA提交列表说明

1490929-20190421165502447-1616392776.png

Q1:编译错误是因为用了C++的语法cout<<,没有认真审题。
A1: 在询问同学之后改正了这题。

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

2.2.1设计思路

 男士和女士的信息存放在一位数组中,作为输入.扫描该数组各元素,并输出直至队列变空。

2.2.2代码截图

1490929-20190428190701851-1648272479.png

2.2.3本题PTA提交列表说明

1490929-20190428191137794-1265847943.png

Q1:本题总体难度较大,因为队列的逻辑明细不如栈那么明确,并且在cout时没有加上\n,导致了答案错误
A1: 必须要真正的理解队列才可能写出这道题目,就比如rear和front的顺序老是反过来,在参考了同学之后才写出。

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

2.3.2代码截图

1490929-20190428192008744-554153629.png

2.3.3本题PTA提交列表说明

1490929-20190428192308925-144494461.png

Q1:在之前的学习中对于编程题和生疏,连using namespace std这个头文件都忘记加上去了。
A1: 本题总体还算好理解,用stack<char> 和string去建立栈和字符串。

2.4.题目4:7-5 jmu-报数游戏

2.4.1设计思路

本题有一些难度,由题目可知本题需要循环,所以应该可以建立两个符号 A,B,A是当前人数,B用于记录多少人退出,当A小于B的时候,循环停止,并输出。

2.4.2代码截图

1490929-20190428195027234-966165131.png

1490929-20190428195041716-1353810761.png

2.4.3本题PTA提交列表说明

1490929-20190428195353009-328272123.png

Q1:本题我真的不是很理解,但是在看了同学的分析之后,只能尝试去做一下
A1: 在qu->front等于其加+a时,要对count也就是A取余,我还并没有完全理解。很抱歉。
3、栈和队列上机考试 错题及解决办法
我在上机考试时,并没有完整答出题目,所以没有错题可写。

3.1错误题目1

3.1.1错误代码截图

6-2 在一个数组中实现两个堆栈

1490929-20190428200504355-970852269.png

1490929-20190428200508716-1899415397.png

3.1.2错误原因及体会

这道题目乍一看,我以为能够凭借自己能力写出,运用首尾两个指针同时运行,实现两个堆栈,可是总是编译错误。现在在看了其他的代码之后,发现是return的值出现错误,而且少了很多种情况,比如tag=1或者tag=2的情况。

转载于:https://www.cnblogs.com/cosmosss/p/10747064.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值