Page 82 - 高中 信息技术 选择性必修1 数据与数据结构
P. 82

第三章  线性数据的组织和存储







                                                  表3-4 超市排队自助服务请求与应答分析

                        服务台/顾客行为分析                       自助服务系统功能分析                                队列操作

                         营业开始,服务台
                                               初始化所有服务队列为空。                                  初始化队列。
                       做准备。


                                               判断某服务队列是否非满,是则生成一个号码并
                         顾客选择某种服务                                                            队满判断,元素入队,
                                             插入队列的队尾,将队列的队尾向后移动一位。同
                       并取号。                                                                求队列长度。
                                             时显示前面还有多少人在等待。



                         服务台对某种服务              判断某服务队列是否非空,是则返回队列中处在
                                             广东教育出版社
                                                                                             队空判断,元素出队。
                       叫号。                   队头的号码,并将队列的队头向后移动一位。



                        3.3.3 队列的实现




                           1.顺序队列
                           在队列的程序定义中,可以利用数组这种具有一定容量的顺序存储结构来存储队列元
                      素,并用队头标志front指示即将出队的元素的位置,用队尾标志rear指示即将入队的元素

                      的位置,它们的初始值在队列初始化时均为0。同时我们约定:当入队或出队时,队尾标
                      志rear或队头标志front只能往后移动一位,且其最大值为队列的最大长度maxsize(数组的
                      容量),我们把这种队列称为顺序队列。假设已定义队列q,队头front,队尾rear,数组容

                      量为6,其顺序队列存储方式如图3-12所示。













                                                             图3-12 顺序队列

                           基于以上约定,在编程实现队列操作时,队头标志和队尾标志会有几种不同的变化,
                      还可以利用队头标志和队尾标志来求得队列的当前长度:

                           (1)初始化队列:front = rear = 0
                           (2)入队操作:rear = rear+1

                           (3)出队操作:front = front+1
                           (4)队空判断:front == rear
                           (5)队满判断:rear == maxsize
                           (6)求队列长度:rear - front


              74  74







          21X2204.indd   74                                                                                        2019/9/26   13:53:17
   77   78   79   80   81   82   83   84   85   86   87