Java数据结构与算法---栈的实现

来源:互联网 发布:买了一辆豪车后 知乎 编辑:程序博客网 时间:2024/05/17 13:12

栈的实现主要是一个思想:后入先出

本代码使用数组作为栈的底层实现:

package cn.f_stack;import javax.swing.text.html.HTMLDocument.HTMLReader.IsindexAction;public class StackArray {    private int size;    private int[] a;    private int top;    //构造    public StackArray(int s){        size=s;        a = new int[size];        top=-1;    }    //入栈    public void push(int val){        if(!isFull()){            a[++top]=val;        }else{            System.out.println("栈满了,不能插入"+val);        }    }    //出栈    public int pop(){        if(!isEmpty()){            return a[top--];        }        System.out.println("栈已经空了!");        return -1;    }    //访问栈定    public int peek(){        if(!isEmpty()){            return a[top];        }        System.out.println("栈已经空了!");        return -1;    }    //栈是否为空    public boolean isEmpty(){        return (top==-1);    }    //栈是否满    public boolean isFull(){        return (top==size-1);    }    public static void main(String[] args) {        StackArray a= new StackArray(5);        a.push(1);        a.push(2);        a.push(3);        a.push(4);        a.push(5);        a.push(6);        a.push(7);        while(!a.isEmpty()){            System.out.println("出栈:"+a.pop());        }    }}
阅读全文
0 0
原创粉丝点击