定义数组stack,设置栈的最大值,和标记栈的顶端的数字top=-1,(数组的起始索引为0,所以定义top=-1)

创建构造器,并且初始化容器

判断栈是否为空

如果栈为空,指针指向数组前一个元素,就是前面定义的top=-1

判断栈是否满

判断依据:栈顶是否等于当前数组的长度减一,stack.length-1

接下来三步压栈,弹栈和查看栈中数据

压栈:首先要判断当前栈是否满,如果栈满的话就抛一个异常,如果没有满的话,就让top这个指针向上移动,添加相应数据

弹栈:与压栈思路相反

注意:栈中弹出的数据与放入数据顺序相反

查看栈中数据:首先要判断栈是否为空,然后用遍历数组的方法去遍历这个栈

栈中元素的个数

Java数据结构——栈(数组实现)相关推荐

  1. java数据结构之数组

    数据结构对我们的程序员也是非常重要的,相当于一个基础学科,从今天开始,咱们再重新学习一下数据结构吧 1,首先我们要定义一下泛型,初始化成员变量,声明构造方法. private T data[];pri ...

  2. Java数据结构-基于数组的栈和泛型

    泛型可以参数化变量的类型 当你需要用不同类型的基本类型变量来调用构造方法时你需要泛型 public class Test {public static void main(String[] args) ...

  3. java数据结构- - - -栈

    栈:是一种容器,类似于桶一样,栈是一种特殊的线性表,不同于一般线性表的是,一般线性表可以在表内任意位置添加和删除元素, 而栈只可以在尾端进行,栈尾一般称之为栈顶,另一端称之为栈底,特点是:后进先出/先 ...

  4. java数据结构-栈

    栈 1.栈的定义 栈(Stack):是只允许在一端进行插入或删除的线性表.首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作. 栈顶(Top):线性表允许进行插入删除的那一端. 栈底( ...

  5. Java数据结构 栈中添加辅助栈实现min函数

    栈中添加辅助栈实现min函数 class MinStack {Stack<Integer> A, B;public MinStack() {A = new Stack<>(); ...

  6. JAVA数据结构-稀疏数组

    稀疏数组 什么是稀疏数组? 假设有这样的一个二维数组 shape是11x11,但是很多数据都是0,比较浪费空间,我们可以通过一些方法来压缩这个数组,稀疏数组就是一种压缩数组的方法,通过稀疏数组变换后, ...

  7. 基于java的数据结构学习——数组实现的栈以及简单应用C++实现

    基于java的数据结构学习--数组实现的栈以及简单应用的 C++ 实现 源码: // // Created by PC-Saw on 2019/1/3. //#ifndef DATA_STRUCTUR ...

  8. Java数据结构——数组实现栈

    Java数据结构--数组实现栈 public class StackAndQueue {public static void main(String[] args) {Scanner scanner ...

  9. 基于java的数据结构学习——数组实现的栈以及简单应用

    栈 Stack 栈是一种线性结构 相比数组,栈对应的操作是数组的子集 只能从一端添加元素,也只能从一端取出元素 这一端称为栈顶 栈是一种后进先出的数据结构 栈的应用 无处不在的Undo操作(撤销) 括 ...

最新文章

  1. C++ 中multiset 的使用
  2. 编程珠玑第12章习题
  3. 研究生申请:就一个字
  4. java int数组写入文件中_Java程序将int数组写入文件
  5. tar压缩解压缩命令详解
  6. 计算机mooc操作测试视频,计算机基础课MOOC视频的制作方法.doc
  7. 见识可能比聪明更重要!
  8. Mysql5.0没有nvarchar,national
  9. Gnome2.30 GDM圖片風格設置方式
  10. 【状压dp】【POJ2288】Islands and Bridges【Hamilton路】
  11. Linux 安装 RMVB,rm,ape文件 解码器
  12. 机器人工程师学习计划
  13. “踢群第一案”上热搜的背后
  14. 企业私有云建设需求分析
  15. 初中英语语法(009)-动名词
  16. 信号隔离器直流电流电压变送器 分配转换模块0-10V一进二出4-20mA
  17. Mathematica描绘滚球某个点的运动轨迹(摆线)
  18. 使用Glide模仿微信图片加载策略
  19. 空间实景三维激光点云数据处理服务来了!
  20. 3、python学习笔记第三课:程序格式和构成

热门文章

  1. Mysql漏洞注入——万能密码
  2. 越来越多人关注的CAD是什么?常见的CAD软件有哪些?
  3. #求解 colab安装cudatoolkit=9.0,pytorch-nightly=1.0.0失败
  4. 使用python定义单链表
  5. linux emacs使用教程,在ubuntu下使用emacs编写C语言程序
  6. 《HelloGitHub》第 85 期
  7. color demura原理_demura
  8. Windows2008R2 多用户同时远程登录服务器
  9. 动物实验 | 模式生物——大鼠| MedChemExpress
  10. AppCode的一些设置