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

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








                           在定义队列时,队列元素的类型datatype可以根据现实数据的情况而确定,如对于超
                      市服务请求队列的元素类型datatype可以是代表编号的字符串;另外,采用数组作为队列

                      元素的存储结构,数组容量的大小maxsize也应根据现实情况进行估计,太大则浪费空间,
                      太小则可能出现元素入队列时队列容量不足,发生溢出。




                           实 践

                           运行配套学习资源包中的程序“第三章\课本素材\排队自助服务系统.exe”,分析都
                      有哪些售后服务请求,为各种请求队列编程定义相应的数据结构,如表3-3所示。
                                             广东教育出版社
                                                      表3-3 定义各种队列的数据结构


                                   功能                                            程序段

                                                     typedef struct
                                                     {
                                                        string items[10];
                         定义队列数据结构。                      //队列元素为string,队列最大长度为10
                                                        int front; //队头标志
                                                        int rear; //队尾标志
                                                     }Queue;



                                                     Queue card; //办卡服务队列
                                                     Queue invoice; //开发票服务队列
                         定义各种服务队列的变量。
                                                     Queue delivery; //送货服务队列
                                                     Queue gifts; //兑换礼品服务队列





                           讨 论

                           各小组就以下问题展开讨论:

                           (1)小组选择的项目中有哪些是需要排队的事物或现象?
                           (2)项目要解决哪种或哪些排队问题(如提高有序性、提高效率、智能化等)?
                           在问题提出的基础上合作完成以下任务:

                           (1)列出项目中具备队列特征的事物或现象,并用画图的方式描述出这种事物或现
                      象的工作过程(画出队列,标识队头及队尾)。
                           (2)为以上事物或现象建立队列模型。

                           (3)根据建立的队列模型,为项目中的所有队列编写程序,定义相应的数据结构。







              72  72







          21X2204.indd   72                                                                                        2019/9/26   13:53:16
   75   76   77   78   79   80   81   82   83   84   85