java实现栈
来源:互联网 发布:淘宝商盟怎么加入 编辑:程序博客网 时间:2024/06/16 07:55
今天用java的集合实现一个栈的功能,作为熟悉栈数据结构的学习也是不错的,代码如下:
/** * 以ArrayList为基本结构实现栈 * @author Administrator * * @param <T> */public class StackUtils<T> {ArrayList<T> dataList;int maxSize;//栈顶指针 -1:空栈int top;public StackUtils(int maxSize) {this.dataList = new ArrayList<T>();this.maxSize = maxSize;this.top = -1;}/** * 入栈 * @param data * @return */public boolean push(T data) {if(isFull()){System.out.println("stack is full");return false;}dataList.add(data);top++;return true;}/** * 出栈 * @return * @throws Exception */public T pop() throws Exception {if(isEmpty()){throw new Exception("栈已空!"); }return dataList.get(top--);}/** * 栈是否满 * @return */public boolean isFull() {return top+1==maxSize;}/** * 栈是否空 * @return */public boolean isEmpty() {return top == -1;}/** * 栈数量 * @return */public int getElementCount() {return top+1;}/** * 返回栈顶元素 * @return * @throws Exception */public T peek() throws Exception {if(isEmpty()){throw new Exception("栈已空!"); }return dataList.get(top);} public static void main(String[] args) throws Exception { StackUtils<String> stack=new StackUtils(1000); stack.push(new String("1")); stack.push(new String("2")); stack.push(new String("3")); stack.push(new String("4")); stack.push(new String("5")); System.out.println(stack.peek()); while(stack.top>=0) { System.out.println(stack.pop()); } } }
0 0
- java实现栈
- java 实现栈数据结构
- Java 实现栈
- java实现栈
- java 实现一个栈
- java实现栈结构
- 链式栈 java实现
- Java实现链式栈
- 栈的实现(JAVA)
- java实现栈
- Java实现栈
- java 栈实现
- 栈的实现-----java
- 【java】栈的实现
- Java栈实现
- java实现顺序栈
- Java 实现栈
- 栈的java实现
- eclipse的文件同步插件
- oracle引入索引的目的
- 直方图内最大矩形 (最大矩形面积、贴海报、动态规划)
- Notes on MatConvNet(II):vl_simplenn
- 设计模式的理解
- java实现栈
- 浙大 PAT Advanced level 1001. A+B Format
- zero clipboard 使用
- TortoiseHg 学习笔记
- 常用的HQL语句
- 初等数论_6 2016.4.15
- MD5加密与byte[]数组与十六进制字符串与字符串的互相转换
- IOS(CGGeometry)几何类方法总结
- telnet