栈
来源:互联网 发布:淘宝现在做什么比较好 编辑:程序博客网 时间:2024/05/29 02:43
1.栈:是限制仅在表的一端进行插入和删除操作的线性表。特点是后进先出。
2.栈里面存的是方法的指针,这和JVM里面虚拟机栈的用法一样。
3.顺序栈的算法实现
package com.bocloud.stack;/** * 栈操作接口 * * @author dongkai * */public interface StackIntf { public void push(int x); public int pop(); public int size(); public void clear(); public boolean isEmpty(); public int top();}package com.bocloud.stack;/** * 栈操作接口实现 * * @author dongkai * */public class Sqstacktp implements StackIntf { final int maxsize = 100; int elem[] = new int[maxsize]; int top; public Sqstacktp() { top = 0; } @Override public void push(int x) { if (top == maxsize) { System.out.println("Overflow"); } else { elem[top++] = x; } } @Override public int pop() { if (top == 0) { return 0; } else { top--; return elem[top]; } } @Override public int size() { return top; } @Override public void clear() { top = 0; } @Override public boolean isEmpty() { if (top > 0) { return false; } else { return true; } } @Override public int top() { if (top == 0) { return 0; } else { return elem[top - 1]; } }}
0 0