• DS博客作业03--栈和队列


    1.本周学习总结

    这两周主要学习了栈和队列,栈和队列有一些地方相同,比如说都是以一定的顺序储存元素,都只能对一端进行操作,具有一定的局限性,而队列和栈也有不同的地方,比如说出队列是先进的元素先出,而栈的则是先进后出,不过好像在一次练习中看到元素可以从队列的队头或者队尾出元素,这是特殊情况吗?还是说队列其实都能。然后其实队列的操作还是挺简单的,也就入队出队判断队空这些函数,但是灵活运用队列和栈还是比较困难的,就有时候我不知道栈在这个题目中该如何去使用,多练应该能解决。因为这两周比较忙在pta上时间花的不多,所以导致上机考考的一塌糊涂。
    

    2.PTA实验作业

    2.1.题目1:在一个数组中实现两个堆栈

    2.1.1设计思路
    首先将栈1的栈顶置为-1
    栈2的置为MaxSize然后判断Tag
    进行不同的入栈操作
    如果Tag为1则入栈1否则入栈2
    然后进行入栈操作
    接着是出栈
    和入栈差不多的判断

    2.1.2代码截图

    2.1.3本题PTA提交列表说明

    •Q1:   一开始在创建栈的那个函数没有return Stack导致段错误
    •A1:   然后对着同学的代码改,return Stack应该就是讲栈的定义(如MaxSize这些的)返回
    •Q2:   格式错误
    •A2:   忘记换行了
    •Q3:   出栈和入栈的函数运行超时
    •A3:   在出栈和入栈的函数中没有用return结束操作导致运行超时
    

    2.2.题目2:jmu-ds-舞伴问题

    2.2.1设计思路:
    结构体定义p,然后循环将dancer数组的值赋给p
    每一次赋值之后进行对p。sex进行判断
    然后进男队列或女队列
    再用while循环直到男生队列没人或女生队列没人
    然后输出人数多的队列的长度
    最后输出队列长度 。

    2.2.2代码截图


    2.2.3本题PTA提交列表说明

    •Q1:   第一个错误不记得之前是错在哪了
    •Q2:   然后后面发现格式错误
    •A2:   发现格式错误第一时间就去找输出的地方,发现少了个空格。
    

    2.3.题目3:jmu-报数游戏

    2.3.1设计思路:先将1.2.3.4.5.6等等入队然后逐渐出队再进队,直到每一次到n然后元素出队不进队并输出。再每一次输出之后再求队列长度,并将i赋为1,重新读队列元素。

    2.3.2代码截图

    2.3.3本题PTA提交列表说明

    •Q1: 答案错误
    •A1: 发现没有把那个队列的长度赋给num,使得num一直都是原来的长度。
    •Q2: 还是答案错误
    •A2: 这里少了空格也提示答案错误,不是提示格式错误。
    

    2.4.题目4:符号配对

    2.4.1设计思路: 当读到‘(’,‘{’,‘[’时入栈,当读到右括号时判断最近的符号是不是对应的左括号并出栈,即取栈顶元素判断,最后判断栈是否为空

    2.4.2代码截图

    2.4.3本题PTA提交列表说明

    •Q:一开始在devc上都打好了,也运行过了,后面在pta上提交一直编译错误,重复提交了几次
    •A:后面看了下pta提交错误的原因,说![](https://img2018.cnblogs.com/blog/1474724/201904/1474724-20190423121536479-825361144.png)然后想到改成c++的语法提交就过了。
    

    3、栈和队列上机考试(-3--3分)

    错题 :表达式求值

    我的代码

    因为一开始想到的就是数组的方式来做,再加上又是考试而且这题pta还没刷,就用数组的方法做了,而且我在读到一个操作符的时候就计算前后两个数字,做到后面发现没办法处理乘和除,就卡着下不去了。应该是读到第二个操作符时在进行计算,这样就可以处理乘除运算。
    后面应该多用栈或者队列的方式来写题,不然以后做这类题目第一时间想到的还是用数组能不能做。
    

    错题:在一个数组中实现两个堆栈

    这一题一直在考试的时候用devc打,没提交。
    这题主要的错误在为栈申请存储空间的时候不会写那个molloc,导致写不下去。另外两个函数其实也就是分类讨论然后进栈出栈这个还是会写的。最后还有return stack这一步在考试的时候也忘记了
    现在知道了一部分,申请空间时首先是(存储的类型)malloc(sizeof(这一块还是搞不懂怎么写))。
    
  • 相关阅读:
    支持向量机
    Redis(六)应用问题解决
    Redis(七)新数据类型、新功能
    Redis(五)主从复制、集群
    MacOS解决too many open files
    使用systemd让程序自启保活
    vue 生产环境开启 vuedevtools
    mac完整卸载vmware
    将 .gradle文件 从C盘移动到D盘
    【转】微信小程序推送消息
  • 原文地址:https://www.cnblogs.com/yvvq/p/10740658.html
Copyright © 2020-2023  润新知