zoukankan      html  css  js  c++  java
  • 数据结构-第三章栈与队列总结

    栈:

    栈是特殊的线性表,数据将从一端进入,同一端输出

    运算顺序:先进后出,后进先出

    栈的基本操作(以顺序栈为例)

     


    队列:

    队列与栈不相同的地方在于,数据从一段进入,从另一端输出

    运算顺序:先进先出,后进后出

    队列的基本操作(以带头节点链式队列为例子)

     


    遇到的困难及总结:

    1.  c++利用顺序栈解决括号匹配问题  https://www.cnblogs.com/yi2105/p/10604850.html

    2.  c++利用链式队列(带头节点)解决银行业务队列简单模拟问题 https://www.cnblogs.com/yi2105/p/10618323.html

    3.  exit()和return的区别:

             在main()主函数中,两者没有太大的区别;

             但是在调用函数的过程中,exit()将会退出并结束程序,return将会返回上一级。

    4. 当对数组(足够大)连续输入数值,由空格间隔,回车结束。

             可以利用getchar读取输入的字符,当 getchar() == ‘ '时,结束输入;

             值得注意的一点是,常用的对数组进行赋值的结构 for(int i=0; 条件; i++)中条件应在输入第一个字符后判断。

             若非如此,getchar()是读缓冲区的第一个字符,一开始没有输入,缓冲区是没有字符的,所以总是会跳过第一个。

             当然,可以考虑使用do...while()结构


    目标:

    1. 多debug少质疑

    2. 查阅资料的时候看到一个很酷的问题:

          (1)利用两个栈搭建一个队列;

          (2)利用两个队列搭建一个栈;

       希望自己能够研读研读

    ——但少闲人,所以等等。
  • 相关阅读:
    魔法阵
    求和
    罗马数字
    「NOIP2005P」循环
    【Windows批处理III】实现删除含自定字符串的文件和文件夹(搜索子目录)
    扩展欧几里得算法
    埃氏筛法(素数筛)
    python学习之argparse模块
    51Nod1364 最大字典序排列
    51Nod1537 分解
  • 原文地址:https://www.cnblogs.com/yi2105/p/10622968.html
Copyright © 2011-2022 走看看