1.本周学习总结
结构认识
- 栈的结构认识:
栈是一种只能在栈顶进行插入或删除操作的线性表,用于保存函数调用时所需要的信息。主要特点是“先进后出”,有顺序以及链式两种存储结构,主要运算算法包括入栈Push(注意是否栈满)、出栈Pop(注意是否栈空)。在我看来,栈类似于一口井,只有一个口,依次往里面放东西,只能逆序拿出来,无论是拿还是放,都只能在井口操作,这样理解就比较简单; 队列的结构认识:
队列是一种只能在一端进行插入操作,在另一端进行删除操作的线性表,主要特点是“先进先出”,也有顺序以及链式两种存储结构,主要运算算法包括入队Push(注意是否队满)、出队Pop(注意是否队空)。队列好像就是栈的一个升级,可以在两端操作,更加方便,在迷宫问题,也很明显表现出队列的优势。队列,顾名思义,有两端;学习体会
这几周学习了栈和队列,
2.PTA实验作业
==============
本周要求挑4道题目写设计思路、调试过程。题目选做要求:
栈、队列函数题目分别选择1题
栈、队列编程题分别选择1题
原则上题目选择越难,代码量越大分值越高。
2.1.题目1:在一个数组中实现两个堆栈
2.1.1代码截图
2.1.2本题PTA提交列表说明。
说明:
- 对于指针的加减没有弄明白:T->Top1 初始值为-1,所以在进行入栈操作时,应该先让T->Top1值变为一,再让T->Top加一,因此应该使用++T->Top1,Top2同理;
- 判断两个变量相等时用两个等于号!!!
2.2 题目2:舞伴问题
2.2.1代码截图
2.2.2本题PTA提交列表说明。
说明:
- 这道题是在devc上调试了很久才交上去,没有注意是两个空格,所以格式错误
- 我觉得这道题没有很难,但是函数个数比较多,并且函数调用没有体现在主函数中,而是在一个小函数中反复调用,做的时候没啥思路看了一眼同学的代码,看完就敲出来,印象不是太深刻,所以上机考试碰到这道题时就没过。。。这道题确实还是很简单的。
2.3 题目3:符号配对
2.3.1设计思路
2.3.2代码截图
2.3.3本题PTA提交列表说明。
2.4 题目4:报数游戏
2.4.1设计思路
【利用queue库、递归算法】
#主函数
- 建立队列q
1-n数字依次进队
- n<m
error!
- else
调用操作函数
#操作函数
- 当队列中只有一位数
输出队首
- else
遍历队列
指定数字
输出队首且出队
调用操作函数(n-1,m)
其他数字
出队重新入队
2.4.2代码截图
2.4.3本题PTA提交列表说明。
说明:
- 队列的两道编程题都比较简单。。。银行那题比较平常,所以把这道题放上来,是想着这种做法比较独特,当是对于递归算法的一个小复习
3、栈和队列上机考试
错题及解决办法
截图错题代码,分析错误原因及后续要改进地方。请至少列举2题。如果拿满分同学,这部分可不写,直接拿3分。
注意:分析错误原因及体会,主要讲代码错误。
标签:03,截图,题目,队列,代码,PTA,这道题,DS 来源: https://www.cnblogs.com/victory0917/p/10744045.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。