线性结构的两种常见应用之二:队列

线性结构的两种常见应用之二:队列

 

         定义:一种可以实现先进先出的存储结构

 

         分类:

              链式队列:队列内部是用链表实现的

 

              静态队列:队列内部是用数组实现的

                       静态队列通常必须是循环队列

 

                       循环队列的讲解

                            1.静态队列为什么必须是循环                             队列?

 

线性结构的两种常见应用之二:队列

 

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

                                 需要两个参数来确定

                                 两个参数在不同的场合有                                    不同的含义,以后自己慢                                    慢体会

                                

                                 1、队列初始化

                                     front和rear的值都

                                         是零

                                 2、队列非空

                                     front指向的第一                                         个元素

                                     rear指向最后一个                                       有效元素的下一个元                                 素

                                 3、队列空

                                     front和rear的值相                                          等,但不一定是零

                            3.循环队列各个参数的含义

                                 上面第二个已讲

                            4.循环队列入队的伪算法

 

线性结构的两种常见应用之二:队列

 

                            5.循环队列出队的伪算法

 

线性结构的两种常见应用之二:队列

 

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

                                 如果front = rear,则为空

 

                            7.如何判断循环队列是否已满

                                 预备知识:front和rear的                                    值谁大谁小不一定

                                 两种方式:

                                 1、多增加一个标志参数

                                 2、少用一个元素(通常使用第二种方式)

                           

线性结构的两种常见应用之二:队列

 

              队列算法:

                   入队:

                   出队:

 

              队列的具体应用:

                   所有和时间有关的操作都有队列的影子