首先我们来讲讲什么是栈,主要是介绍我对栈的了解和认识:栈是一种用于存储数据的表,鲜明的特点是先进后出FILO,栈的实现分为数组实现和链表实现。学习栈看中学习栈的思想,通过栈的思想解决一些实际中的问题。Java中有Stack类实现栈的操作。这篇博客主要阐述,栈的基本实现,数组实现和链表实现。
一、栈的模型图
入栈的顺序为:0、1、2、3、 4、 5、6 出栈的顺序为6、5、4、3、2、1、0
二、栈的数组实现
这个栈的实现是通过数组实现的,通过动态的扩充数组的长度来实现无界栈。
代码实现:
1 package Stack; 2 3 public class Stack1 { 4 private int stack[];//用于存储栈内元素的数组 5 private int DEFAULTSIZE=5;//默认初始化栈的存储空间 6 private int top;//栈顶指针 7 private int base;//栈底指针 8 private int nowSize;//栈当前的元素个数 9 private int&nb