Java数组实现栈
来源:互联网 发布:鲁班bim软件 编辑:程序博客网 时间:2024/06/05 11:40
能存储任意类型的数据。
import java.lang.reflect.Array;public class GeneralArrayStack<T> {private static final int DEFAULT_SIZE = 12; private T[] mArray; private int count; public GeneralArrayStack(Class<T> type) { this(type, DEFAULT_SIZE); } public GeneralArrayStack(Class<T> type, int size) { // 不能直接使用mArray = new T[DEFAULT_SIZE]; mArray = (T[]) Array.newInstance(type, size); count = 0; } // 将val添加到栈中 public void push(T val) { mArray[count++] = val; } // 返回“栈顶元素值” public T peek() { return mArray[count-1]; } // 返回“栈顶元素值”,并删除“栈顶元素” public T pop() { T ret = mArray[count-1]; count--; return ret; } // 返回“栈”的大小 public int size() { return count; } // 返回“栈”是否为空 public boolean isEmpty() { return size()==0; } // 打印“栈” public void PrintArrayStack() { if (isEmpty()) { System.out.printf("stack is Empty\n"); } System.out.printf("stack size()=%d\n", size()); int i=size()-1; while (i>=0) { System.out.println(mArray[i]); i--; } } public static void main(String[] args) { String tmp; GeneralArrayStack<String> astack = new GeneralArrayStack<String>(String.class); // 将10, 20, 30 依次推入栈中 astack.push("10"); astack.push("20"); astack.push("30"); // 将“栈顶元素”赋值给tmp,并删除“栈顶元素” tmp = astack.pop(); System.out.println("tmp="+tmp); // 只将“栈顶”赋值给tmp,不删除该元素. tmp = astack.peek(); System.out.println("tmp="+tmp); astack.push("40"); astack.PrintArrayStack(); // 打印栈 }
阅读全文
0 0
- java数组实现栈
- java数组实现栈
- java 数组实现栈
- Java数组实现栈
- java自定义栈(数组实现)
- java 用数组实现栈
- java实现栈(数组方式)
- Java用数组实现栈
- 数组实现动态栈,java
- Java数组实现自定义栈
- java用数组实现栈
- java自定义栈(数组实现)
- Java - - 数组实现栈基本功能
- 栈--数组存储--Java实现
- 用java数组实现栈
- (java)数组实现栈
- Java栈(数组实现)
- 【JAVA数据结构】栈(数组实现)
- C语言数独游戏求解
- LSTM理解
- CODE[VS]1015 计算器的改良
- Android 音视频开发(四):使用 Camera API 采集视频数据
- vue+mint ui+省市区三级联动(编辑地址)
- Java数组实现栈
- ceph scrub errors
- Android的安全机制
- 代理模式
- 恶意代码分析实战 Lab 3-3 习题笔记
- Nuttx启动
- Jsp九大内置对象
- 动态设置状态栏颜色和app主色或者当前页面主色一致
- hat is a Digital Signature