栈的数组实现(Java)
来源:互联网 发布:java加载项 编辑:程序博客网 时间:2024/05/22 16:59
package com.Stack;public class ArrayStack <AnyType>{public ArrayStack(){theArray = (AnyType [])new Object[DEFAULT_CAPACITY];topOfStack = -1;};public boolean isEmpty(){return topOfStack == -1;}public void makeEmpty(){topOfStack = -1;}public AnyType top(){try {if(isEmpty())throw new Exception("ArrayStack top");} catch (Exception e) {e.printStackTrace();}return theArray[topOfStack];}public void pop(){if(isEmpty()){//抛出异常}topOfStack--;}public AnyType topAndPop(){if(isEmpty()){//....}return theArray[topOfStack--];//AnyType data = theArray[topOfStack];//topOfStack--;//return data;}public void push(AnyType x){if(topOfStack+1 == theArray.length){//doubleArray();}theArray[++topOfStack] = x;}/* * 数组加倍 */private void doubleArray(){}private int topOfStack;private AnyType[] theArray;private static final int DEFAULT_CAPACITY = 10;}
测试类:
package com.Stack;public class testArrayStack {@SuppressWarnings("unchecked")public static void main(String[] args){ArrayStack stack = new ArrayStack();String[] data = new String[]{"a","b","c"};for(int i = 0;i < data.length;i++){stack.push(data[i]);System.out.println(data[i]+" ");}System.out.println("*************************");while(!stack.isEmpty()){System.out.println(stack.topAndPop()+"");}}}
输出结果:
a
b
c
*************************
c
b
a
0 0
- 栈的数组实现(Java)
- (java)数组实现栈
- Java栈(数组实现)
- 数组实现栈(Java)
- java 基于数组的栈的实现
- Java实现数组栈的操作
- Java的栈实现(数组、链表两种方式)
- Java实现基于数组的顺序栈
- java数组实现栈
- java数组实现栈
- java 数组实现栈
- Java数组实现栈
- 栈的数组实现(动态调整数组大小) JAVA版本
- java---实现数组的输出
- java数组实现的树
- Java中泛型数组的实现
- Java有序数组的实现
- 后缀数组的Java实现
- 三层之抽象工厂加反射实例
- 从aud$ 中查找锁住数据库用户的IP
- 禁止Chrome加载电脑管家广告过滤脚本代码
- 我所看到的视频采集前端vfe和camera,decode等交互的驱动架构
- Gradle(构建一个android项目)
- 栈的数组实现(Java)
- [UIScreen mainScreen] ;
- 最小错误率训练(mert)基本原理学习
- Android ProgressBar控件理解
- setprop to enable UIBC
- Struts 2 test用法
- Bootstrap精巧布局
- JS 判断浏览器客户端类型(ipad,iphone,android)
- continue 和 break 简单介绍