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--栈和队列的更多相关文章

  1. DS博客作业03——栈和队列

    1.本周学习总结 谈谈你对栈和队列结构的认识及学习体会. 栈和队列的本质就是线性表.所以,相应的栈跟队列都有两种存储结构:顺序存储结构.链式存储结构. 栈的特点是后进先出,根据栈时进时出的规则,出栈的 ...

  2. DS博客作业03—栈和队列

    1.本周学习总结 本周学习了栈和队列两种数据结构,分别对应后进先出,先进先出两种数据操作 学会栈的特殊类型-共享栈,队列的特殊类型-循环队列的一系列操作 学会熟练使用栈和队列的STL容器,使代码简洁 ...

  3. DS博客作业08--课程总结

    DS博客作业08--课程总结 1.当初你是如何做出选择计算机专业的决定的? 1.1 经过一年学习,你的看法改变了么,为什么? 1.2 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 1. ...

  4. DS博客作业04--图

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业04--图 这个作业的目标 学习图结构设计及相关算法 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1. ...

  5. DS博客作业——树

    DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...

  6. DS博客作业05--查找

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...

  7. DS博客作业03--树

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...

  8. DS博客作业--07查找

    目录 DS博客作业--07查找 1.本周学习总结(0--2分) 1.思维导图 2.谈谈你对查找运算的认识及学习体会. 2.PTA实验作业(6分) 2.1.题目1:6-1 二叉搜索树的操作集 (30 分 ...

  9. DS博客作业--课程总结

    1.当初你是如何做出选择计算机专业的决定的? 经过一年学习,你的看法改变了么,为什么? 你觉得计算机是你喜欢的领域吗,它是你擅长的领域吗? 为什么? 刚开始填报志愿的时候,因为我个人是没有什么比较特别 ...

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

    1.本周学习总结 本周学习中学习了栈和队列,栈和队列都属于线性结构,栈和队列不同于线性表的地方在于它们的相关运算具有一些特殊性,所以栈和队列也称为操作受限的线性表. 1.栈 栈是重要且常用的数据结构之 ...

随机推荐

  1. Python导入自定义类时显示错误:attempted relative import beyond top-level package

    显示这个错误可能有两个原因: 1.文件夹中没有包含__init__.py文件,该文件可以为空,但必须存在该文件. 2.把该文件当成主函数入口,该文件所在文件夹不能被解释器视作package,所以可能导 ...

  2. oracle的常用99条语句

    1. select * from emp; 2. select empno, ename, job from emp; 3. select empno 编号, ename 姓名, job 工作 fro ...

  3. 【Linux】CentOS 7.4 安装 MySQL 8.0.12 解压版

    安装环境/工具 1.Linux(CentOS 7.4版) 2.mysql-8.0.12-el7-x86_64.tar.gz 安装步骤 参考:https://dev.mysql.com/doc/refm ...

  4. Selenium实战总结(webwiew下拉框定位)

    基于常见的两种下拉框的展示形式: 1.点击弹出下拉框: 2.鼠标移动弹出下拉框(move_to_element) 实例一[鼠标点击弹出的下拉框]: e.g百度首页的设置--高级搜索--时间: 导包: ...

  5. 日志分析工具、日志管理系统、syslog分析

    日志分析工具.日志管理系统.syslog分析 系统日志(Syslog)管理是几乎所有企业的重要需求.系统管理员将syslog看作是解决网络上系统日志支持的系统和设备性能问题的关键资源.人们往往低估了对 ...

  6. decode 横竖转换

    select rq 日期,sum(decode(shengfu,'胜',1,'负',0)) 胜,sum(decode(shengfu,'负',1,'胜',0)) 负 from tmp group by ...

  7. idea 设置编译的编码方式

    Settings->Build,Execution,Deployment->Compiler->Java Compiler,右边的详情列表中,Javac Options有设置参数的地 ...

  8. maven的传递性依赖

    一.概念: 假如有maven项目A,项目A依赖项目B,项目B依赖项目C,我们说A对B是第一直接依赖,B对C是第二直接依赖,那么他们的依赖关系:A---->B----->C,那么我们执行项目 ...

  9. 【慕课网实战】Spark Streaming实时流处理项目实战笔记九之铭文升级版

    铭文一级: 核心概念:StreamingContext def this(sparkContext: SparkContext, batchDuration: Duration) = { this(s ...

  10. ArcMap等值面

    先说一下题目,ArcMap中没有由栅格直接生成等值面的功能,但由栅格直接生成等值线的功能存在,可通过如下方式得到等值面: 1.提取等值线 由dem直接提取等值线:Spatial Analyst Too ...