1.基于数组实现的栈
package com.ncst.stack;
import com.ncst.array.Array;
/**
* @author i
* @create 2019/12/19 19:47
* @Description
*/
public class ArrayStack{
private Integer [] data;//存储数据
private Integer length;//长度
private Integer capacity;//容量
public ArrayStack(Integer capacity){
data = new Integer[capacity];
length = capacity;
this.capacity = 0;
}
public void push(Integer value){
if (capacity == length){
throw new RuntimeException("statkc id is full!");
}
data[capacity] = value;
capacity++;
}
public Integer pop(){
if (capacity == 0){
throw new RuntimeException("stack id empty!");
}
Integer value = data[capacity-1];
capacity--;
return value;
}
public static void main(String[] args) {
ArrayStack arrayStack = new ArrayStack(5);
arrayStack.push(1);
arrayStack.push(2);
arrayStack.push(3);
System.out.println(arrayStack.pop());
System.out.println(arrayStack.pop());
System.out.println(arrayStack.pop());
}
}