DS-博客作业03--栈和队列
1.本周学习总结
- 第三章主要介绍栈和队列的基本概念,存储结构,基本运算算法设计和应用实例。从组成元素的逻辑关系来看,栈和队列都属于线性结构。栈和队列与线性表的不同之处就在于他们的相关运算具有一些特殊性。更准确地说,一般线性表上的插入、删除运算不受限制,而栈和队列上的插入、删除运算均受某种特殊限制,因此栈和队列也称为操作受限的线性表。栈是一种常用而且重要的数据结构之一,如用到保存函数调用是所需要的信息,通常在将递归算法转换成非递归算法是需要使用到栈。
- 栈是一种只能在一段进行插入或删除操作的线性表。它的特点就是后进先出。每次出栈的都是栈顶元素。
- 队列也称队,它也是一种操作受限的线性表,其限制为仅允许在表的一端进行插入操作,而在表的另一端进行删除操作。把进行插入的一端称为队尾,把进行伤处的一端称为队头或队首。向队列插入新元素称为进队,新元素进队后变成新的队尾元素,从队列中删除元上都称为出队或离队,元素出队后就称为新的队首元素。
2.PTA实验作业
2.1题目1 jmu-ds-是否合法出入栈操作
2.1.1设计思路
2.1.2代码截图
2.1.3本题PTA提交列表说明

- Q1思路是把 ‘I’ 和‘O’ 放进字符数组中,然后提交时两次出现编译错误。
- A1之后仔细把提交窗口的错误提示看了一遍,后面发现时判断的上限把str[i]!='\0'错写成了str,还有switch()中str[i]写成了str。这些都是基础不扎实的错误。
2.2题目2 jmu-ds-舞伴问题
2.2.2代码截图
2.2.3本题PTA提交列表说明


- Q1问题难在配对舞伴的函数,其他的跟书上差不多
- A1基于前面出现的一些基础的问题,在纸上模拟出函数,设置两个队列分别存储男女,先依次入队,只有两个队不空则不断出队配合,循环结束后,输出非空队的对头元素还有dev 的调试逐渐找到问题所在
2.3题目3 jmu-字符串是否对称
2.3.1设计思路
- 对于字符串str,先将其所有元素进栈。从头开始扫描str,同时出栈元素,将出栈元素与从头开始扫描的str元素相比较,若不同则返回false。当str扫描完毕后返回true。实际上,从头开始扫描是从左向右读,出栈元素是从右向左读,它们相同的话则是对称串。
2.3.2代码截图




2.3.3本题PTA提交列表说明

- Q1第一次提交错误在DestroyStack函数
- A1后面实在不行就把free 换成了delete,结果就可以用了
- Q2忘记用DestroyStack删除st
2.4题目4 报数游戏
- 报数游戏是这样的:有n个人围成一圈,按顺序从1到n编好号。从第一个人开始报数,报到m(m<n)的人退出圈子;下一个人从1开始报数,报到m的人退出圈子。如此下去,直到留下最后一个人。其中n是初始人数;m是游戏规定的退出位次(保证为小于n的正整数)。要求用队列结构完成。输出数字间以空格分隔,但结尾不能有多余空格。
2.4.1设计思路
if 总人数<退出位次 或 总人数<1
输出“error!"
1至n依次入队
end
i=0
while 队列非空
i++
if i=m
出队并输出一个元素 i=0
else 出队再进队
end
2.4.2代码截图


2.4.3本题PTA提交列表说明

- Q1提交的时候 出现编译错误忘记把用的是C++ 的头文件
- A1将编译器改为了C++编译器
- Q2进队出对后忘记把i=0写上
3.栈和队列上机考试
这次 上机考,考的非常是非常的不好,我是先开始做函数题,半天才写出来两道两道,后面 开始把编程题第一题写出来,但是 只过了两个测试点,有一个测试点一直过不了,最后返回去开始做选择题,结果写选择题根本没有静下心来写,脑袋不知道想的都是些啥,有选项有错的,思路不清晰的
选择题全错,平时的课堂派作业没有脱离课本,一到考试基础概念太不扎实,题目改进以下就不会了。
函数题的另类循环只有12分

问题出在于Q->Front=(Q->Front+1)%Q->MaxSize;写成了Q->Front=Q->Front+1%Q->MaxSize;
还有Q->Data[(Q->Front+Q->Count)%Q->MaxSize]=X;也写成了Q->Data[Q->Front+Q->Count%Q->MaxSize]=X;总体来说还是 不够冷静太容易慌乱了,希望下次能够准备充分,考一个好看一点的成绩。
DS-博客作业03--栈和队列的更多相关文章
- DS博客作业03——栈和队列
1.本周学习总结 谈谈你对栈和队列结构的认识及学习体会. 栈和队列的本质就是线性表.所以,相应的栈跟队列都有两种存储结构:顺序存储结构.链式存储结构. 栈的特点是后进先出,根据栈时进时出的规则,出栈的 ...
- DS博客作业03—栈和队列
1.本周学习总结 本周学习了栈和队列两种数据结构,分别对应后进先出,先进先出两种数据操作 学会栈的特殊类型-共享栈,队列的特殊类型-循环队列的一系列操作 学会熟练使用栈和队列的STL容器,使代码简洁 ...
- DS博客作业08--课程总结
DS博客作业08--课程总结 1.当初你是如何做出选择计算机专业的决定的? 1.1 经过一年学习,你的看法改变了么,为什么? 1.2 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 1. ...
- DS博客作业04--图
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业04--图 这个作业的目标 学习图结构设计及相关算法 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1. ...
- DS博客作业——树
DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...
- DS博客作业05--查找
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...
- DS博客作业03--树
这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...
- DS博客作业--07查找
目录 DS博客作业--07查找 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 2.1.题目1:6-1 二叉搜索树的操作集 (30 分 ...
- DS博客作业--课程总结
1.当初你是如何做出选择计算机专业的决定的? 经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 刚开始填报志愿的时候,因为我个人是没有什么比较特别 ...
- DS博客作业03--栈和队列
1.本周学习总结 本周学习中学习了栈和队列,栈和队列都属于线性结构,栈和队列不同于线性表的地方在于它们的相关运算具有一些特殊性,所以栈和队列也称为操作受限的线性表. 1.栈 栈是重要且常用的数据结构之 ...
随机推荐
- day09作业—函数进阶
# 2.写函数,接收n个数字,求这些参数数字的和.(动态传参) def func1(*args): sum = 0 for i in args: sum += i print(sum) func1(1 ...
- MacBook小技巧
退出全屏:Control+Command+F.关闭当前的应用程序:Command+W.退出应用程序,可对着Dock上的应用程序辅助点按(右键),选择退出.也可直接按Commnad+Q退出当前的应用程序 ...
- 2018.11.08 UVA11021 Tribles(概率dp)
传送门 概率dpdpdp简单题. 设f[i]f[i]f[i]表示第iii天的答案. 然后枚举ppp数组从fi−1f_{i-1}fi−1转移过来就行了. 显然有fi=∑j=0npj∗(fi−1)jf_ ...
- 2018.06.26 NOIP模拟 纪念碑(线段树+扫描线)
题解: 题目背景 SOURCE:NOIP2015−GDZSJNZXSOURCE:NOIP2015-GDZSJNZXSOURCE:NOIP2015−GDZSJNZX(难) 题目描述 2034203420 ...
- dijkstra算法(贪心算法)——解决最短路径问题
最短路径 给定一张带权图和其中的一个点(作为源点),求源点到其余顶点的最短路径 基本思想 1)源点u,所有顶点的集合V,集合S(S中存有的顶点,他们到源点的最短路径已经确定,源点u默认在S中),集合V ...
- s5-15 开放的最短路径优先_OSPF
L-S路由协议的实例—OSPF 开放的路径优先(Open Shortest Path First) 使用图(graph)来表述真实的网络 - 每个路由器/Lan都是一个节点 - 测量代价/量度(met ...
- excel 错误提示以及其他基础知识
http://wenda.tianya.cn/question/05a3d11b0e4f3c34 For i = 1 To ActiveSheet.ChartObjects.Count M ...
- windows10; ERROR 1010 (HY000): Error dropping database (can't rmdir './test/', errno: 17);默认数据库位置查找
1.想要导入数据到一个数据库中,但是,无法导入,同时也无法删除数据库重新建立-----------------------------备份当前数据库 2,分析:很多资料显示说数据库下有异常文件,于是就 ...
- Spring 整合 RocketMQ
1. 引入jar包 <!-- RocketMQ --> <dependency> <groupId>com.alibaba.rocketmq</groupId ...
- Qt_MainWindow简介
QMainWindow 是Qt框架带来的一个预定义好的主窗口类.按照建立HelloWorld程序建立工程,直接运行,或有一个空窗口. main().cpp #include "mainwin ...


