zoukankan      html  css  js  c++  java
  • DS博客作业03--栈和队列

    1.本周学习总结

    感觉这里的内容很容易理解,但是在代码的写法上很不堪。我看过很多次书上的代码,但还是不能完全记住,经常搞混。比如说:初始化顺序栈和判断栈是否为空的条件是让栈顶指针为-1,而链式栈是判断栈顶指针是否为NULL,在队列中,尾进头出,还有环形队列的判空为0,最好用的还是容器stack,方便了代码功能也齐全。
    

    2.PTA实验作业

    2.1题目①函数题:6-2 在一个数组中实现两个堆栈

    2.1.1代码截图


    2.1.2本题PTA提交列表说明

    Q1:首先出来了最恶心的编译错。
    A1:后来发现是分配空间错了。
    Q2:编译过了之后,出现了答案错误。
    A2:输出的时候有回车,给忘了,还是不够细心。
    Q3:部分正确?
    A3:进栈的时候指针的位置要先移动,把++提到前面去就行了。
    

    2.2.题目②函数题:6-12 jmu-ds-舞伴问题

    2.2.1代码截图



    2.2.2本题PTA提交列表说明

    Q1:男士女士怎么分开入栈?
    A1:通过指针person[i].sex来进行区分。
    Q2:答案错误?
    A2:输出的时候错了,应该输出Fdancers->data[Fdancers->front].name.
    

    2.3.题目③编程题:7-1 jmu-字符串是否对称

    2.3.1设计思路:

    判断字符串是否对称就是要从头尾一起入手,如果相同就继续判断,如果不同就结束判断。
    

    2.3.2代码截图



    2.3.3本题PTA提交列表说明

    Q::在vs中刚开始出现了编译错误?
    A:判断为空的条件出错,后来改了。
    Q:运行错误?
    A:判断相等的时候使用了头尾指针,用不熟练,后来发现太麻烦了,使用for循环就可以了,代码和算法还简单。
    

    2.4.题目④编程题:7-5 jmu-报数游戏

    2.4.1设计思路:

    先自定义一个队列,队列存放n个数相当于报数。然后按规矩每到第m个输出并剔除一个,继续报数,直到m>n跳出循环,输出队列剩下的。
    

    2.4.2代码截图


    2.4.3本题PTA提交列表说明

    本题在算法上刚开始我弄错了,我以为是n个数,报到第m个数的人输出并剔除,然后返回开头重新来过再报数。后来一支部队,发现是报m个数后接着报数,报到最后一个再返回开头再继续报数。读题能力还是不行。
    

    3.栈和队列上机考试

    错题及解决办法

    3.1题目一:7-1 符号配对

    3.1.1错误分析:

    - 1.不知道该怎么读取所有字符
    - 2.不知道怎么判别 /* 是否与*/配对
    - 3.不能熟练的使用栈、队列等知识。
    
    

    3.1.2解决办法:

    - 1.代码读取使用getline(cin,ch)逐行读取;
    - 2.可以换元,遇到 /* 可以用 < 代替入栈,遇到 */ 可以使 < 出栈。
    - 体会:遇到另类的数据元素判别时我们可以使用换元法,读取元素时不用定死在scanf 或 cin 中,可以使用string库函数里的子函数。
    

    3.2题目二:6-3 jmu-ds-表达式求解

    3.2.1错误分析:

    - 没有掌握后缀表达式的算法。
    

    3.2.2代码:


  • 相关阅读:
    计算机中的进制和编码
    操作系统简史
    电脑结构和CPU、内存、硬盘三者之间的关系
    电脑简史
    使用开源my-deploy工具实现开发环境的代码自动化部署
    使用Let’s Encrypt创建nginx免费SSL证书
    VM ESXI 服务器虚拟化资料积累
    python mysql连接函数
    python日期格式转换小记
    Python模块学习
  • 原文地址:https://www.cnblogs.com/yue7521/p/10746941.html
Copyright © 2011-2022 走看看