3.2、队列相关知识

一、队列的定义:
    一种可以实现“先进先出”的存储结构;
二、队列的分类:
     链式队列---用链表实现

         删除一个元素在队首(front)(出对),添加一个元素在rear(入队)

    静态队列---用数组实现
        静态队列通常都必须是循环队列(为充分利用向量空间,克服"假溢出"现象的方法是:将向量空间想象为一个首尾相接的圆环,并称这种向量为循环向量。存储在其中的队列称为循环队列)
            循环队列的讲解:
                1.静态队列为什么必须是循环队列


                2.循环队列需要几个参数来确定

                   两个(front ,rear)2个参数不同场合有不同的意义;
                3.循环队列各个参数的含义

                    1).队列初始化    front和rear的值都是0
                    2).队列非空       front代表的是队列的第一个元素
                                                rear代表的是队列最后一个有效元素的下一个元素
                    3).队列空           front和rear的值相等,但不一定是零
            
                4.循环队列入队伪算法讲解

                           两步完成如下(r即为rear)


                5.循环队列出队伪算法讲解(f即为front)


                6.如何判断循环队列是否为空

                       只要front与rear的值相等,该队列就一定为空。
                7.如何判断循环队列是否已满

                       两种方式     1.多增加一个标志参数;  2.一直空着一个位置,即当f与r挨着时候,就不能存储数字了

猜你喜欢

转载自blog.csdn.net/GUA8122HOU/article/details/87933559
3.2
今日推荐