数据结构算法基础 之 栈(数组实现)
栈结构特点 : 先进后出
java实现
/**
* 基于数组的栈 -- 先进后出
* 以存储字符串为例
*/
public class ArrayStack {
private String[] items;
private int size; // 栈的元素个数
private int len; // 栈的固定大小
public ArrayStack() {
this.len = 5;
this.items = new String[len];
this.size = 0;
}
// 入栈
public boolean push(String item){
// 先判断栈的大小
if(size == len){
// 入栈失败
return false;
}
// 将item放入下标为size的位置 , size++
items[size] = item;
size++;
return true;
}
// 出栈
public String pop(){
// 栈为空 返回null
if(size == 0){
return null;
}
String temp = items[size-1];
items[size-1] = null;
size--;
return temp;
}
@Override
public String toString() {
return "ArrayStack{" +
"items=" + Arrays.toString(items) +
", size=" + size +
", len=" + len +
'}';
}
}