队列的定义顺序队链队32队列Java中的队列容器Queue<E>队列的综合应用双端队列优先队列1/92
3.2 队列 链 队 队列的综合应用 顺 序 队 队列的定义 Java中的队列容器Queue<E> 双 端 队 列 优 先 队 列 1/92
队列的定义3.2.1队列(queue)是一种只能在不同端进行插入或删除操作的线性表。进行插入的一端称做队尾(rear),进行删除的一端称做队头或队首(front)。队列的插入操作通常称为进队或入队(push),队列的删除操作通常称为出队或离队(pop)。进队aia,出队个个队头队尾2/92
队列(queue)是一种只能在不同端进行插入或删除操作的线性表。 进行插入的一端称做队尾(rear),进行删除的一端称做队头或队 首(front)。 队列的插入操作通常称为进队或入队(push),队列的删除操作通 常称为出队或离队(pop)。 a1 a2 . an 队头 队尾 出队 进队 2/92
田front排队买早餐tail3/92
3/92
队列的主要特点:先进先出,即先进队的元素先出队。每次进队的元素作为新队尾元素,每次出队的元素只能是队头的元素。队列也称为先进先出表。4/92
先进先出,即先进队的元素先出队。 每次进队的元素作为新队尾元素,每次出队的元素只能是队头的 元素。 队列也称为先进先出表。 队列的主要特点: 4/92
ADTQueue(数据对象:D=[ai0≤i≤n-1,n≥0,a,为E类型]数据关系:R=(r}r=[<ai, ai+1> I ai, ai+iED, i=0, ."", n-2]基本运算:boolean empty():判断队列是否为空,若队列为空,返回真,否则返回假。voidpush(Ee):进队,将元素e进队作为队尾元素。E pop():出队,从队头出队一个元素。Epeek():取队头,返回队头元素而不出队。队列抽象数据类型=线性结构+队列的基本运算5/92
队列抽象数据类型 = 线性结构 + 队列的基本运算 ADT Queue { 数据对象: D={ai | 0≤i≤n-1,n≥0,ai为E类型} 数据关系: R={r} r={<ai,ai+1> | ai,ai+1∈D, i=0,.,n-2} 基本运算: boolean empty():判断队列是否为空,若队列为空,返回真,否则返回假。 void push(E e):进队,将元素e进队作为队尾元素。 E pop():出队,从队头出队一个元素。 E peek():取队头,返回队头元素而不出队。 } 5/92