zoukankan      html  css  js  c++  java
  • 数据结构之堆栈

    数据结构之堆栈

     栈:是一种只能在一个位置进行数据操作的数据结构

    使用top相当于游标,使用top标识栈顶,弹出的过程,就是弹出top所在的位置的数据,然后将top向下移动

     

    public class Stack {
        //top标记栈顶
        int top;
    
        //size表示栈的深度
        int maxSize;
    
        //data存放栈中的数据
        Object[] data;
    
        //对栈进行初始化
        public Stack(int size){
            this.maxSize = size;
            top = -1;
            data = new Object[maxSize];
        }
    
        //判断栈是否满了
        public boolean isFull(){
            return top + 1 == maxSize;
        }
    
        //往栈压数据
        public void push(Object obj){
            if(isFull()){
                System.out.println("栈已满");
                return;
            }
            data[++top] = obj;
        }
    
        //判断栈是否为null
        public boolean isEmpty(){
            return top == -1;
        }
    
        //从栈拿出数据
        public Object pop()throws Exception{
            if(isEmpty()){
                throw new Exception("栈是空");
            }
            return data[top--];
        }
    
        public static void main(String[] args) throws Exception {
            Stack stack = new Stack(10);
            stack.push("zhangsan");
            stack.push("lisi");
            stack.push("wangwu");
            System.out.println(stack.pop());
            System.out.println(stack.pop());
            System.out.println(stack.pop());
        }
    }

     

  • 相关阅读:
    Java——static
    Java——package与import
    Java——方法重写
    Java——super
    Java——类的继承、访问控制
    Java——API文档
    Java——对象转型
    Java——动态绑定和多态
    Java——抽象类
    redis在linux上的安装和配置
  • 原文地址:https://www.cnblogs.com/zhangchiblog/p/8666164.html
Copyright © 2011-2022 走看看