第3章 堆栈和队列3.1 堆栈3.2堆栈的应用队列3.3优先级队列3.4
第3章 堆栈和队列 3.1 堆栈 3.2 堆栈的应用 3.3 队列 3.4 优先级队列
3.3 队列3.3.1队列的基本概念队列也是一种特殊的线性表,队列的数据元素以及数据元素间的逻辑关系和线性表完全相同其差别是线性表允许在任意位置插入和删除,而队列只允许在其一端进行插入操作在其另一端进行删除操作
3.3 队列 3.3.1 队列的基本概念 队列也是一种特殊的线性表,队列的数据元 素以及数据元素间的逻辑关系和线性表完全相同, 其差别是线性表允许在任意位置插入和删除,而 队列只允许在其一端进行插入操作在其另一端进 行删除操作
队列在队尾进行插入操作,在队头进行删除操作。先进先出(FIFO)表例如: 队列 Q= (ao , a1 , a2 ....a.2 , an-)队尾队头在队尾插入元素称为入队;在队头删除元素称为出队当队列中没有数据元素时称为空队列
队列 在队尾进行插入操作,在队头进行删除操作。 例如:队列 Q= (a0 , a1 , a2 , .,an-2 , an -1) 在队尾插入元素称为入队;在队头删除元素称为 出队。 当队列中没有数据元素时称为空队列。 队头 队尾 先进先出(FIFO)表
3.3.2队列的抽象数据类型1数据集合队列的数据集合可以表示为a0,al,...,an-l,每个数据元素的数据类型可以是任意的类类型。2操作集合(1)入队列append(obi):把数据元素obi插入队尾。(2)出队列deleteO:把队头数据元素删除并由函数返回。(3)取队头数据元素getFrontO:取队头数据元素并由函数返回。(4)非空否notEmptyO:非空否。若队列非空,则函数返回true,否则函数返回false
3.3.2 队列的抽象数据类型 1 数据集合 队列的数据集合可以表示为a0,a1,.,an-1,每个数据 元素的数据类型可以是任意的类类型。 2 操作集合 (1)入队列append(obj):把数据元素obj插入队尾。 (2)出队列delete():把队头数据元素删除并由函数返回。 (3)取队头数据元素getFront():取队头数据元素并由函 数返回。 (4)非空否notEmpty():非空否。若队列非空,则函数返 回true,否则函数返回false
队列抽象数据类型的接口定义如下:interface Queuelvoid append(Object obj);Object deleteO;Object getFrontO;bool notEmptyO;
队列抽象数据类型的接口定义如下: interface Queue{ void append(Object obj); Object delete(); Object getFront(); bool notEmpty(); }