基于数组的栈

来源:互联网 发布:知乎 恐怖 编辑:程序博客网 时间:2024/05/14 16:48

栈:是种数据结构,有的使用数组实现的,有的使用链表实现的。

特点:先进后出,栈底是不浮动的,只有栈顶浮动, 新插入的元素会成为新的栈顶, 删除元素也只能从栈顶移除 


基于数据的栈的代码:

 
package stack;public class StackBasedArray {private int maxSize;private Node[] stack;private int top;//栈顶的位置public StackBasedArray(int max){this.maxSize=max;stack=new Node[max];top=-1;}/**判断栈是否已满 */public boolean isFull(){if(maxSize-1==top){return true;}return false;}/**判断是否为空 * */ public boolean isEmpty(){if(top==-1){return true;}return false;}/** * 压栈 * */public void push(Node node){if(isFull()){System.out.println("栈已满!");}stack[++top]=node;}/** * 弹栈 * */public Node pop(){if(isEmpty()){System.out.println("栈为空");return null;}return stack[top--];}/** * 返回栈顶元素*/public Node getTop(){if(isEmpty()){System.out.println("栈为空");return null;}return stack[top];}}
public class Node {private int data;public Node(){}public Node(int data){this.data=data;}public void setData(int data){this.data=data;}public int getData(){return this.data;}}


0 0
原创粉丝点击