堆栈的实现
来源:互联网 发布:手机php文件怎么打开 编辑:程序博客网 时间:2024/05/16 10:39
堆栈是一种后进先出的数据结构,主要需要实现的方法有两个,一个是压栈的操作PUSH,另一个是出栈的操作POP
很容易联想到可以通过数组这样的一个数据结构来实现堆栈
假设插入的顺序是1234567
(初始状态)
(插入后的状态,此时指针由右往左,顺序就是7654321,这样就实现先进后出的一个效果)
下面给出相关的代码:
package aa;import java.util.HashMap;public class Stack {/** * @param args */Object[] data;int maxSize;int top;public Stack(int maxSize) {super();this.maxSize = maxSize;data=new Object[maxSize];top=-1;}//获取堆栈的大小public int getMaxSize() {return maxSize;}//获取堆栈中元素的个数public int getTop() {return top;}public boolean isEmpty(){return top==-1;}public boolean isFull(){return top+1==maxSize;}//压栈public boolean Push(Object data){if(isFull()){System.out.println("堆栈已满!");return false;}this.data[++top]=data;return true;}//出栈public Object Pop(){if(isEmpty()){try {throw new Exception("栈已空!");} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}return this.data[top--];}//返回栈顶元素public Object peek(){return this.data[getTop()];}public static void main(String[] args){Stack s=new Stack(10);s.Push(1);s.Push(2);s.Push("lalala");s.Push(12.35);s.Push("di");System.out.println(s.peek());while(s.top>=0){System.out.println(s.Pop());}}}
0 0
- 堆栈的C实现
- 堆栈数据结构的实现~
- 链式实现的堆栈
- 堆栈,队列的实现
- 堆栈的c++实现
- SPFA的堆栈实现
- 堆栈的实现
- 堆栈的简单实现
- VB堆栈的实现
- 数据结构--堆栈的实现
- 堆栈的数组实现
- 堆栈的实现
- 链式堆栈的实现
- 堆栈的实现
- 堆栈的实现
- 堆栈的实现
- 堆栈的实现
- 堆栈的数组实现
- 在javascript中定义成员变量,成员方法等的方法
- 自定义jQuery 无缝Banner插件
- yum安装mysql
- stdio.h与stdlib.h
- sublime快捷键
- 堆栈的实现
- 解决centos6上python升级混乱导致yum报错
- 【Linux】线程安全与可重入函数
- RegQueryValueEx函数
- 切换tab页
- 深入解读《Gartner2017年商业智能和分析平台魔力象限报告》
- lxc基本命令(lxc-checkconfig,lxc-create等命令)
- Delaunay三角剖分算法
- OpenGL核心技术之Gamma校正