2022-11-24 18:04:38 +00:00
|
|
|
/*
|
|
|
|
* File: deque.java
|
|
|
|
* Created Time: 2022-11-25
|
|
|
|
* Author: Krahets (krahets@163.com)
|
|
|
|
*/
|
|
|
|
|
2022-11-09 19:40:57 +00:00
|
|
|
package chapter_stack_and_queue;
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
|
|
|
public class deque {
|
|
|
|
public static void main(String[] args) {
|
2022-11-29 18:27:26 +00:00
|
|
|
/* 初始化双向队列 */
|
2022-11-09 19:40:57 +00:00
|
|
|
Deque<Integer> deque = new LinkedList<>();
|
|
|
|
|
|
|
|
/* 元素入队 */
|
|
|
|
deque.offerLast(2);
|
|
|
|
deque.offerLast(5);
|
|
|
|
deque.offerLast(4);
|
|
|
|
deque.offerFirst(3);
|
|
|
|
deque.offerFirst(1);
|
2022-11-29 18:27:26 +00:00
|
|
|
System.out.println("双向队列 deque = " + deque);
|
2022-11-09 19:40:57 +00:00
|
|
|
|
|
|
|
/* 访问队首元素 */
|
|
|
|
int peekFirst = deque.peekFirst();
|
|
|
|
System.out.println("队首元素 peekFirst = " + peekFirst);
|
|
|
|
int peekLast = deque.peekLast();
|
|
|
|
System.out.println("队尾元素 peekLast = " + peekLast);
|
|
|
|
|
|
|
|
/* 元素出队 */
|
|
|
|
int pollFirst = deque.pollFirst();
|
|
|
|
System.out.println("队首出队元素 pollFirst = " + pollFirst + ",队首出队后 deque = " + deque);
|
|
|
|
int pollLast = deque.pollLast();
|
|
|
|
System.out.println("队尾出队元素 pollLast = " + pollLast + ",队尾出队后 deque = " + deque);
|
|
|
|
|
2022-11-29 18:27:26 +00:00
|
|
|
/* 获取双向队列的长度 */
|
2022-11-09 19:40:57 +00:00
|
|
|
int size = deque.size();
|
2022-11-29 18:27:26 +00:00
|
|
|
System.out.println("双向队列长度 size = " + size);
|
2022-11-09 19:40:57 +00:00
|
|
|
|
2022-11-29 18:27:26 +00:00
|
|
|
/* 判断双向队列是否为空 */
|
2022-11-09 19:40:57 +00:00
|
|
|
boolean isEmpty = deque.isEmpty();
|
2022-11-29 18:27:26 +00:00
|
|
|
System.out.println("双向队列是否为空 = " + isEmpty);
|
2022-11-09 19:40:57 +00:00
|
|
|
}
|
|
|
|
}
|