队列:
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(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);
}
}