顺序栈就是基于数组的栈
数组实现栈的思路
栈有两个主要功能,入栈和出栈
数组定长后习惯从index=0
开始向后遍历操作。那么可以以数组的头index=0
处作为栈底,而index=length-1
为最大栈顶位置。如果定义一个字段stackSize
作为当前栈的实际存储元素个数,那么入栈就是在数组的index=stackSize
放入元素,出栈就是在数组的index=stackSize-1
取出元素。
顺序栈的代码
import java.util.Arrays;
public class ArrayStack<T> {
private T[] array;
private int arrayLength;
private int stackSize;
public ArrayStack(int length) {
this.arrayLength = length;
this.array = (T[]) new Object[length];
}
public boolean push(T element) {
if (arrayLength == stackSize) {
System.out.println("stack is full");
return false