【算法总结】【队列均LinkedList】栈和队列、双端队列的使用及案例
2024-09-08 16:31:08
1、栈
初始化:Stack<E> stack = new Stack<>();
出栈:stack.pop() 或 stack.remove(stack.size() - 1)
入栈:stack.push(2) 或 stack.add(1)
栈顶:stack.peek()
2、队列
初始化:Queue<E> queue = new LinkedList<>();
入队:queue.offer(2) 或 queue.add(3)
出队:queue.poll() 或 queue.remove()
查看队头元素:queue.peek()
3、双端队列
初始化:
//Deque<Integer> deque = new ArrayDeque<>();
Deque<Integer> deque1 = new LinkedList<>();
入队:
deque1.addFirst(1);
deque1.addLast(2);
deque1.offerFirst(3);
deque1.offerLast(4);
出队:
deque1.removeFirst()
deque1.removeLast()
deque1.pollFirst()
deque1.pollLast()
查看队头元素:
deque1.peekFirst()
deque1.peekLast()
4、测试
public static void main(String[] args) {
//System.out.println(isValid("([])"));
//testQueue();
testStack();
} public static void testDeque() {
//双端队列
Deque<Integer> deque = new ArrayDeque<>();
Deque<Integer> deque1 = new LinkedList<>();
//入队
deque1.addFirst(1);
deque1.addLast(2);
deque1.offerFirst(3);
deque1.offerLast(4);
System.out.println(deque1.peekFirst());
System.out.println(deque1.peekLast());
//出队
System.out.println(deque1.removeFirst());
System.out.println(deque1.removeLast());
System.out.println(deque1.pollFirst());
System.out.println(deque1.pollLast()); }
public static void testQueue() {
Queue<Integer> queue = new LinkedList<>();
queue.offer(1);
queue.offer(2);
queue.add(3);
System.out.println(queue.peek());
System.out.println(queue.poll());
System.out.println(queue.peek());
System.out.println(queue.remove());
System.out.println(queue.peek());
} public static void testStack() {
Stack<Integer> stack = new Stack<>();
stack.add(1);
stack.push(2);
stack.push(3);
System.out.println(stack.peek());
System.out.println(stack.pop());
System.out.println(stack.peek());
System.out.println(stack.remove(stack.size() - 1));
System.out.println(stack.peek());
}
最新文章
- [C#版本]有趣啊!各种编程语言实现 2 + 2 = 5
- UI第九节——UIStepper
- linux下配置nginx使用service nginx start 服务
- iOS (UIButton封装)仿糯米首页缩放“按钮”效果
- PAT1028—— 人口普查
- SQL延时操作
- Mac OS X开发者准备工作
- asp.net 如何引用dll
- 学习笔记:HTML+CSS 基础知识
- Find modern, interactive web-based charts for R at the htmlwidgets gallery
- 缩减APK包大小
- 第十二节,OpenCV学习(一)图像的读取、显示、保存
- 【DFS】n皇后问题
- vijos1448校门外的树
- ___security_cookie机制
- Python高级特性:迭代器和生成器 -转
- Css的向左浮动、先右浮动、绝对定位、相对定位的简单使用
- 微信小程序开发过程中出现问题及解答
- Eclipse下,修改MAVEN 中央仓库地址,解决maven下载慢问题
- 一道hive面试题:explode map字段