Java-队列(Queue和deque)结构分析
队列:
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
--------------------------------------------------------
单向队列(Queue):先进先出(FIFO),只能从队列尾插入数据,只能从队列头删除数据.
双向队列(Deque):可以从队列尾/头插入数据,只能从队列头/尾删除数据.
最擅长操作头和尾.
package com._520it.queue; //双向队列 import com._520it.linked.MyLinkedList; public class MyDeque extends MyLinkedList { public Object getFirst(){ return this.first.ele; } public Object getLast(){ return this.last.ele; } public void removeFirst(){ remove(this.first.ele); } public void removeLast(){ remove(this.last.ele); } public void addFirst(Object ele){ super.addFirst(ele); } public void addLast(Object ele){ super.addLast(ele); } public static void main(String[] args) { MyDeque d = new MyDeque(); d.addLast("aa"); d.addLast("bb"); System.out.println(d); d.addFirst("cc"); System.out.println(d); d.addFirst(12345); System.out.println(d); System.out.println(d.getFirst()); System.out.println(d.getLast()); System.out.println(d); d.removeLast(); d.removeFirst(); System.out.println(d); } }
共有 0 条评论