【例3.10】若元素进队顺序为1234,能否得到3142的出队序列?解:进队顺序为1234,则出队的顺序也为1234(先进先出),所以不能得到3142的出队序列。6/92
【例3.10】若元素进队顺序为1234,能否得到3142的出队序列? 解:进队顺序为1234,则出队的顺序也为1234(先进先出),所以 不能得到3142的出队序列。 6/92
队列的顺序存储结构及其基本运算算法实现3.2.2队列的实现方式逻辑结构U队列线性表映射链队链表顺序队顺序表存储结构7/92
队列的实现方式 线性表 顺序表 链表 队列 顺序队 链队 逻辑结构 存储结构 映射 ∩ 7/92
用data<E>数组来存放队列中元素。约定:队头指针为front(实际上是队头元素的前一个位置),队尾指针为rear(正好是队尾元素的位置)。aean-1-frontrear8/92
. a0 a1 . an-1 . front rear 用data<E>数组来存放队列中元素。 约定:队头指针为front(实际上是队头元素的前一个位置),队尾指针 为rear(正好是队尾元素的位置)。 8/92
1.非循环队列初始时置front和rear均为-1(front==rear)元素进队,rear增加1元素出队列,front增加1an-frontrear9/92
1. 非循环队列 初始时置front和rear均为-1(front==rear) 元素进队,rear增加1 元素出队列,front增加1 9/92 . a0 a1 . an-1 . front rear
rear40eerearrearfrontdd332C22bb1100front0a4-1-1-1-1front→front →rear(a)空队(b)5个元素进队(c)出队1次(c)出队4次18/92
4 3 2 1 0 (a)空队 front -1 rear e d c b (b)5个元素进队 4 3 2 1 0 -1 a rear front e d c b (c)出队1次 4 3 2 1 0 -1 rear front (c)出队4次 4 3 2 1 0 -1 rear front 10/92