一、什么是队列?
队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(FirstIn First Out)
入队列:进行插入操作的一端称为队尾(Tail/Rear)
出队列:进行删除操作的一端称为队头(Head/Front)
二、队列的使用
1.java中的基本使用
代码如下(示例):
public static void main(String[] args) {
System.out.println("普通队列的使用:");
Queue<Integer> queue=new LinkedList<>();
//添加元素
queue.add(2);
queue.add(4);
queue.add(5);
queue.offer(4);
queue.offer(9);
queue.offer(23);
System.out.print("队列的大小:");
System.out.println(queue.size());
System.out.print("获取队头元素:");
System.out.print(queue.peek()+" ");
System.out.println(queue.element());
System.out.print("弹出队列:");
System.out.print(queue.poll()+" ");
System.out.println(queue.remove());
System.out.print("队列的大小:");
System.out.println(queue.size());
System.out.println("======================");
System.out.print("双端队列的使用:");
Deque<Integer> deque=new LinkedList<>();
//添加元素,队头入队
deque.addFirst(4);
deque.addFirst(5);
deque.addFirst(87);
deque.offerFirst(23);
//队尾入队
deque.addLast(56);
deque.add(7);//add也可以使用
deque.offerLast(12);
deque.offer(66);//也可以
System.out.print("双端队列的大小"+" ");
System.out.println(deque.size());
System.out.print("获取队头元素:");
System.out.print(deque.getFirst()+" ");
System.out.print(deque.peekFirst()+" ");
System.out.println(deque.peek());
System.out.print("获取队尾元素:");
System.out.print(deque.getLast()+" ");
System.out.pr