📅  最后修改于: 2023-12-03 14:49:38.688000             🧑  作者: Mango
Deque(双端队列)是一种线性数据结构,支持在两端进行元素的插入、删除操作,因此可以方便地实现堆栈和队列的功能。在java中,可以通过LinkedList实现Deque。
堆栈是一种后进先出(LIFO)的数据结构,可以通过Deque中的push()和pop()方法来实现。push()用来将元素加入堆栈,pop()用来取出栈顶元素。
下面是通过Deque实现堆栈的示例代码:
import java.util.Deque;
import java.util.LinkedList;
public class Stack {
private Deque<Integer> deque;
public Stack() {
deque = new LinkedList<>();
}
public void push(int val) {
deque.offerLast(val);
}
public int pop() {
return deque.pollLast();
}
public boolean isEmpty() {
return deque.isEmpty();
}
public int size() {
return deque.size();
}
}
队列是一种先进先出(FIFO)的数据结构,可以通过Deque中的offer()和poll()方法来实现。offer()用来将元素加入队列尾部,poll()用来删除队列头部的元素。
下面是通过Deque实现队列的示例代码:
import java.util.Deque;
import java.util.LinkedList;
public class Queue {
private Deque<Integer> deque;
public Queue() {
deque = new LinkedList<>();
}
public void offer(int val) {
deque.offerLast(val);
}
public int poll() {
return deque.pollFirst();
}
public boolean isEmpty() {
return deque.isEmpty();
}
public int size() {
return deque.size();
}
}
以上是使用Deque实现堆栈和队列的内容。由于Deque是支持插入、删除操作的线性数据结构,因此除了上面所示的堆栈和队列,还可以通过Deque实现其他类型的数据结构。