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. Linux学习笔记:Shell脚本学习

    概念 真正能够控制计算机硬件(CPU.内存.显示器等)的只有操作系统内核(Kernel),图形界面和命令行只是架设在用户和内核之间的一座桥梁. 由于安全.复杂.繁琐等原因,用户不能直接接触内核(也没有 ...

  2. MySQL查找SQL耗时瓶颈 SHOW profiles

    http://blog.csdn.net/k_scott/article/details/8804384 1.首先查看是否开启profiling功能 SHOW VARIABLES LIKE '%pro ...

  3. UGUI控制UI的显示层级

    1.调用transform.SetAsLastSibling();将该UI的显示层级调到最上面. 调用transform.SetAsFirstSibling();将该UI的显示层级调到最下面. 2. ...

  4. Django的学习(二)————Templates

    一.django的模板: 在settings.py的文件中可以看到并设置这个模板. 1.直接映射: 通过建立的文件夹(templates)和文件(html)来映射. <!DOCTYPE html ...

  5. tomcat https 支持android 6.0及以上版本的配置方法

    <Connector port="443"  protocol="HTTP/1.1" SSLEnabled="true" scheme ...

  6. C#中string类型是值类型还是引用类型?(转)

    出处:https://www.cnblogs.com/dxxzst/p/8488567.html .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一 ...

  7. lambda表达式,变量作用域

    # lambda表达式 def filter_lt(predidcate,lt): result=[] for elem in lt: if predidcate(elem): result.appe ...

  8. 计算误差函数的积分--erf(x)

    注意exp(-x^2-y^2) 可以拆成exp(-x^2) * exp(-y^2) 对 dx积分时,另外一个可以当常数提出到积分号外,另外 -b到b的积分看做常数提取到积分号外

  9. Mybatis-Plus 实战完整学习笔记(五)------insert测试

    一.更新操作探究(3.0.3版本) demo /** * 修改用户 * @throws SQLException */ @Test public void update() throws SQLExc ...

  10. 利用url传多个参数

    刚开始接触jsp,比较偏向于用button标签的onclick方法进行页面的跳转.但是关于页面跳转的各种问题真是叫人头大,以下记录,仅仅为自己以后查看. Qone 用url传参的时候遇到中文怎么办 编 ...