自己写Stack 实现栈结构
来源:互联网 发布:积分商城java设计 编辑:程序博客网 时间:2024/06/03 07:01
前言:
栈的应用:
1. 可计算数学后缀表达式2. 把正常中缀表达式转换为后缀表达式3. 计算检测编译程序{}等括号符号是否正确,是否存在语法错误4. 递归中需要实用栈存储方法信息,计算机中函数调用是通过栈(stack)这种数据结构实现,在递归中调用一层函数,栈就会加一层栈帧,每当函数返回,栈就会减少一层栈帧。
正文:
java中使用数组实现栈
package com.anteoy.dataStructuresAndAlgorithm.javav2; import java.util.ArrayList; /** * Created by zhoudazhuang on 17-3-1. * Description: */ public class ListGo { public static void main(String[] args) { ArrayList arrayList = new ArrayList(); arrayList.add(1); arrayList.add(2); arrayList.add(3); //进栈 arrayList.add(arrayList.size(),2); //出栈 arrayList.remove(arrayList.size()-1); System.out.println(arrayList); } }
java中LinkedList实现栈
package com.anteoy.dataStructuresAndAlgorithm.javav2.my; import java.util.LinkedList; /** * Created by zhoudazhuang on 17-3-2. * Description: */ public class StackByLinkedList { public static void main(String[] args) { useLinkedListAsLIFO(); } /** * 将LinkedList当作 LIFO(后进先出)的堆栈 */ private static void useLinkedListAsLIFO() { // 新建一个LinkedList LinkedList stack = new LinkedList(); // 将1,2,3,4添加到堆栈中 stack.push("1"); stack.push("2"); stack.push("3"); stack.push("4"); // 打印“栈” System.out.println(stack); // 删除“栈顶元素” System.out.println("stack.pop():"+stack.pop()); // 取出“栈顶元素” System.out.println("stack.peek():"+stack.peek()); // 打印“栈” System.out.println("stack:"+stack); } }
后记:
- 尾递归和递归 局部变量栈在递归引用中,不能算尾递归
- 参考文献:数据结构与算法分析
0 0
- 自己写Stack 实现栈结构
- 自己写一个stack容器
- 自己写的栈类,stack(*^__^*) 嘻嘻……
- C++算法之 自己写一个简单的栈Stack
- C++算法之 写自己的栈stack 动态申请
- 栈的链式结构表示与实现——自己写数据结构
- 自己实现简单的Stack
- 自己写的C++ stack类
- 第一篇博客,从Java基础写起,用int[]实现stack结构
- 自己实现一个栈(Stack)和队列(Queue)
- java 栈和Java基础类的Stack类的源码实现,缺陷以及如何实现自己的Stack类
- 自己实现的stack模板类
- 用LinkedList实现自己的Stack
- 栈:stack的实现
- 栈 stack 用链表实现
- STL-stack实现栈
- 自己写ping的实现
- 自己实现的堆结构
- 问题 B: 万妖穴
- 使用IntelliJ IDEA开发SpringMVC网站(二)框架配置
- spring boot jsp mvc jpa mysql
- 简单的增删改查、时间函数
- free函数释放malloc分配的内存,这块内存情况
- 自己写Stack 实现栈结构
- Android studio svn 新建branch/tag 合并分支
- CUDA系列学习(三)GPU设计与结构QA & coding练习
- 全局的dialog
- 不用+-*/做加法
- 双向链表
- 读书笔记
- Quartz的原理
- Error during WebSocket handshake: Unexpected response code: 200错误