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

 4.2 用抽象数据类型表示队列和栈







                         因为队列属于线性表,队列元素的组织和存储可以使用数组,也可以使用链表,在第
                    三章中我们已经分别用数组和链表实现了队列的存储和操作。虽然两种实现方法具体细节
                    各有不同,但是都体现出了元素的线性关系,并且在相关操作中也遵循先进先出的原则,
                    这就是队列的特点。




                      4 . 2 . 2   用抽象数据类型表示栈




                         栈和队列一样,属于线性表的一种,其元素之间也具有线性关系。与队列不同的是,
                    栈元素的入栈、出栈都是从同一头进行的,所以栈具有后进先出(LIFO)的特点。从抽象
                         }ADT 栈 广东教育出版社
                    数据类型的角度来看,栈的数据部分包括线性关系的数据元素和栈顶、栈底。关于栈的操
                    作有:初始化栈、元素入栈、元素出栈、栈空判断、栈满判断、求栈的长度。类似的,我

                    们可以用下面的抽象数据类型表示栈:
                         ADT 栈
                         {
                           数据:
                            栈元素;

                            栈顶;
                            栈底;
                           操作:

                            初始化栈;
                            元素入栈;
                            元素出栈;
                            栈空判断;
                            栈满判断;

                            求栈的长度;


                         与队列类似,栈的数据元素可以使用数组存储,也可以使用链表存储,不同的存储方

                    式,其实现细节会有一些区别。但是不管实现方式有何不同,其基本的数据元素关系是相
                    同的,栈的基本操作也是相同的,具有后进先出的特点。有关栈的实现,可以参考第三章
                    的相关内容。




                             探究活动


                         分 析


                         对比队列和栈的抽象数据类型表示,结合前面关于队列和栈的定义与实现,总结队列
                    和栈的共同点和区别。


                                                                                                                    97 97







          21X2204.indd   97                                                                                        2019/9/26   13:53:26
   100   101   102   103   104   105   106   107   108   109   110