数据结构——栈—— 顺序栈(附java实现)
2013-12-06 13:51
429 查看
堆栈(英语:stack),也可直接称栈。中国大陆作堆栈,台湾作堆叠,在计算机科学中,是一种特殊的串行形式的数据结构,它的特殊之处在于只能允许在链结串行或阵列的一端(称为堆栈顶端指标,英语:top)进行加入资料(英语:push)和输出资料(英语:pop)的运算。
由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。
堆栈数据结构使用两种基本操作:推入(push)和弹出(pop):
推入:将数据放入堆栈的顶端(阵列形式或串行形式),堆栈顶端top指标加一。
弹出:将顶端数据资料输出(回传),堆栈顶端资料减一。
Java实现:
由于堆栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。
堆栈数据结构使用两种基本操作:推入(push)和弹出(pop):
推入:将数据放入堆栈的顶端(阵列形式或串行形式),堆栈顶端top指标加一。
弹出:将顶端数据资料输出(回传),堆栈顶端资料减一。
Java实现:
public class AStack { private static final int DEFAULTSIZE = 10; private int size; private int top; private Object[] listArray; /** * 无参构造方法 * */ public AStack(){ setup(AStack.DEFAULTSIZE); } /** * 有参构造方法 * */ public AStack(int size){ setup(size); } /** * 初始化方法 * */ private void setup(int size){ this.size = size; this.top = 0; this.listArray = new Object[size]; } /** * 清空操作 * */ public void clear(){ this.top = 0; } /** * 压栈操作 * @throws Exception * */ public void push(Object object){ if(this.top < this.size){ this.listArray[++top - 1] = object; }else{ System.out.println("Stack overflow!"); } } /** * 弹出栈顶元素 * @throws Exception * */ public Object pop(){ if(isEmpty()){ System.out.println("Stack is empty!"); return null; }else{ top--; return this.listArray[top]; } } public boolean isEmpty(){ return this.top == 0; } }
相关文章推荐
- Java单链表顺序和链式实现(数据结构五)
- 数据结构—顺序表(自己实现Java的ArrayList)
- Java单链表顺序和链式实现(数据结构五)
- 数据结构之基于Java的顺序列表实现
- Java数据结构之顺序表与链表分析和实现
- JAVA数据结构之顺序队列的实现
- 1-java数据结构顺序表的实现
- 数据结构之顺序表Java实现
- 数据结构(四)---栈的顺序存储的实现---java版
- 数据结构(java语言描述)顺序栈的使用
- Java实现树结构数据的递归与非递归遍历
- java 二叉树 实现 数据结构 笔试
- 数据结构——双端链表(java实现)
- 顺序表.cpp [数据结构实现 之 线性表]
- 看数据结构写代码(16)顺序队列的实现(循环队列)
- 数据结构之队列的java实现
- 数据结构顺序表的实现
- 数据结构基础(6) --顺序栈的设计与实现
- 数据结构复习之–“冒泡排序”-JAVA实现
- 数据结构之栈的Java实现