1. 什么是栈?
栈(stack)是限定仅在表尾进行插入和删除操作的线性表。
2. 栈的特点:
1.) 栈又称为后进先出(Last In First out)的线性表,栈元素具有线性关系,即前驱后继关系。
2.) 栈的特殊之处在于:它的栈底是固定的,只允许在栈顶进行插入和删除操作。
3. 栈的顺序存储结构(Java数组实现):
// 栈的数组实现, 底层使用数组:
public class ArrayStack<T> {
private Object[] arr; // 数组首元素作为栈底,因为它变化小
private int length;
// 数据初始化
public ArrayStack(){
arr = new Object[16];
length = 0;
}
// 元素入栈
public boolean push(T data) {
if (length >