Java堆栈

Java栈的特点与栈的抽象数据类型

栈(Stack),也称堆栈,是一种操作受限的线性表. 栈只允许在线性表的一端进行插入/删除等操作,不允许在其他位置插入/删除。

在线性表中进行插入/删除的一端称为栈顶(top), 栈顶保存的元素称为栈顶元素, 相对的另一端称为栈底(bottom)。

如果栈中没有数据元素称为空栈。

向栈中插入元素,称为进栈或入栈, 从栈中删除元素称退栈或出栈。

栈的插入/删除操作只允许 在栈顶进行, 后进栈的元素必定先出栈, 称为后进先出表(First In  last Out, 简称FILO, 先进后出)。

堆栈抽象数据类型的定义
 

ADT  Stack {
		数据对象:  D= {a0,a1,a2...an,  ai是同一种数据类型的元素}
		数据关系:  R={} 
		基本操作:
			getSize()		返回元素的个数
			isEmpty()		判断堆栈是否为空
			push( Object ) 压栈,入栈
			pop()		 弹栈,出栈
			peek()		返回栈顶元素
	}ADT Stack