zoukankan      html  css  js  c++  java
  • java数据结构-栈的底层实现:数组实现压入,弹出,判断空栈

    package com.stack;

    /**
    * @auther 付强
    * @date 2020/2/13 - 12:45
    */
    public class Mystack {
    //栈的底层我们使用数组来存储数据
    int[] elements;
    public Mystack(){
    elements=new int[0];
    }
    //压入元素
    public void push(int element){
    //创建一个新的数组
    int[] newArr=new int[elements.length+1];
    //把原数组中的元素复制到新的数组中
    for (int i = 0; i < elements.length; i++) {
    newArr[i]=elements[i];
    }
    //把添加的元素放入新数组中的
    newArr[elements.length]=element;
    //使用新数组替换就数组
    elements=newArr;
    }
    //取出栈顶元素
    public int pop(){
    //栈中没有元素
    if(elements.length==0){
    throw new RuntimeException("stack is empty");
    }
    //取出数组的最后一个元素
    int element = elements[elements.length - 1];
    //创建一个新的数组
    int[] newArr=new int[elements.length-1];
    //把原数组中处理最后一个元素的其他元素都放入新数组中
    for (int i = 0; i < elements.length - 1; i++) {
    newArr[i]=elements[i];
    }
    //替换数组
    elements=newArr;
    //返回栈顶元素
    return element;
    }
    //查看栈顶元素
    public int pick(){
    //栈中没有元素
    if(elements.length==0){
    throw new RuntimeException("stack is empty");
    }
    return elements[elements.length-1];
    }
    //判断栈是否为空
    public boolean isEmpty(){
    return elements.length==0;
    }

    }
  • 相关阅读:
    007 Android 单击事件、toast使用
    AdminService数据访问层
    DBHelper
    兄弟2820技术
    左右两侧采用绝对定位 中间同样采用margin-left margin-right方法:
    三层架构保存,更新,查询等一些列方法
    DropDownList的使用
    兄弟2820
    三层架构
    treevew
  • 原文地址:https://www.cnblogs.com/fuqiang-java/p/12303305.html
Copyright © 2011-2022 走看看