• 第3章学习小结


      这章讲了栈和队列的特点是后进先出队列的特点是先进先出,这些都不是重点,重点是遇到问题要知道用哪种数据结构。

      比如数制的转换,(1348)10=(2504)8,它的计算过程是

          N       N /8          N%8

                      1348      168            4

                       168         21            0

                         21         2              5

                         2            0              2

    可以看出要得到(1348)10的8进制,首先求出的是最后一位的数字4,最后求出的是第一位的数字2

    显然我们要把4  0   5  2四个数字先存起来

    然后再倒过来输出,即输出2504

    怎么存这四个数字呢?

    用数组存?当然可以,你只需要多开一个变量p,记录数组当前有多少个数字,顺便把p当成下标用。

    处理的时候就要注意细节,比如第一个数的下标是不是0,输出的时候是从后往前输出,还要注意边界。

    用栈来存?当然可以,你只需要4  0   5  2依次压入栈,算完后全部出栈就可以了。

    但是用栈来存的话,相当于划分了层次,同一时间思考的层次不同,再举个栗子

    拿括号匹配的题目来说()【】 {}

    遇到左括号,用数组做的话:

        if(遇到左括号){

          p++;

          左括号放入数组;

        }

         用做的话:

        if(遇到左括号){

          左括号入栈;

        }

    看出直接用数组来做多了一步下标的移动,实际上使用栈也存在下标的移动(如果用顺序栈),只不过在main函数中不需要考虑,

    在写栈函数的时候才需要考虑这个问题(STL真好用)

    这就相当于划分了层次

    就遇到左括号这一步来说

    直接用数组做,你要考虑下标,还要考虑存放问题

    用栈做,你只需要考虑入栈

    使用栈来解决这个问题,在同一时刻可以减少关注的东西,敲代码的时候就可以减少错误

    这就相当于   c++  ——>  数据结构   的飞越

    栈的引入简化了程序设计的问题,划分了不同的关注层次,使思考范围缩小了。(划重点)

    作业的编程题就是括号匹配问题,注意敲代码最好先把思路写下来就行了,因为敲代码时注意了细节,但有可能忽略了全局。

    上次博客的目标达到了(a完T1的题)

    可惜的是天梯赛1-8没有a出来,我想了下原因主要是我对数据的存储和一些函数不是很了解

    (画横线的是我的输入)

    在打敲笨钟那题时,交代码后提示我格式错误,当时一脸懵逼。

    后来仔细一看,原来是多了换行。

    cin.getline(a,1003,'.');中,遇到‘.’停止读入,并把'.'变成了' ',对于计算机来说,我这里进行了三次输入,计算机看到的是

    qiao ben zhong.[空格]qiao ben zhong.[空格]qiao ben zhong.[空格]

    处理后就是qiao ben zhong qiao ben zhong qiao ben zhong

    三次a的内容分别是:1.qiao ben zhong

               2. qiao ben zhong

                  3. qiao ben zhong

    所以才会出现上面那种输出(上面分析只是我根据输出进行的猜测,希望有大佬分享一下经验

     把‘ ’吸掉就没事了(当时没想到......)

    接下来的目标是:把线段树专题打完,好好做一个组员

  • 相关阅读:
    颜色混合openglglBlendFunc函数
    Types of Maps
    ogre 检测显卡gpu支持参数
    (转载)lua和c/c++互相调用实例分析
    光照模型
    阴影(转载)
    eval()解析JSON
    android中The connection to adb is down,问题和解决 AndroidEclipseAntXML
    比较android中的像素单位dp、px、pt、sp
    区别:DOM Core 与 HTMLDOM
  • 原文地址:https://www.cnblogs.com/Remilia-Scarlet/p/10630594.html
Copyright © 2020-2023  润新知