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. Windows使用SSH Secure Shell实现免密码登录CentOS

    笔记来自:http://blog.csdn.net/jiangshouzhuang/article/details/50683049 1.在Windows上生成密钥找到Secure Shell Cli ...

  2. Redis学习笔记:windows上redis的安装运行

    Redis的windows版本地址https://github.com/MicrosoftArchive/redis 下载之后解压之 在当前解压目录下可以看到如下文件 在当前目录下打开命令行窗口,输入 ...

  3. 更好的转换规则(深入理解c#)

    从任何类型”转换成他本身“被认为好于“转换成一个不同的类型”,这个规则称为“更好的转换”规则.

  4. IOS 单击手势和cell点击冲突

    环境: view上添加tableView,给view添加单击手势,点击cell却走的是手势方法. 解决: UITapGestureRecognizer *tap=[[UITapGestureRecog ...

  5. javaScript正则表达式的使用

    今天看了一个正则的写法,回想一下,对于正则都忘记得差不多了,称这个时间整理一下,收集了一些以前的资料和查看了一些别人的资料,做一个小小的总结,方便自己以后查看,也希望能帮助到大家!!   欢迎指正,欢 ...

  6. Educational Codeforces Round 60 C 思维 + 二分

    https://codeforces.com/contest/1117/problem/C 题意 在一个二维坐标轴上给你一个起点一个终点(x,y<=1e9),然后给你一串字符串代表每一秒的风向, ...

  7. Linux下通过管道杀死所有与tomcat相关的进程

    先将正确的命令放上来: ps -ef | grep ps -ef将系统中运行的进程展示出来 选择带有tomcat的进程后同时去除自身带有grep的进程,毕竟本身运行的这条命令是与tomcat相关的 a ...

  8. es6函数的新语法

    函数的默认值 function(x,y=10){ //赋予了y就有了默认值为10,如果y赋值了,就回被覆盖,否则就是默认值10 变量已经有默认值了,所以不用再次用let或者const声明啦 }

  9. js,javascript,打印对象,object

    function writeObj(obj){ var description = ""; for(var i in obj){ var property=obj[i]; desc ...

  10. SpringMVC处理模型数据

    目录结构 web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...