首页 > 编程语言 >Java中栈的数组存放方式

Java中栈的数组存放方式

时间:2024-10-16 23:32:45浏览次数:7  
标签:Java int top 中栈 public 数组 new capacity stack

今天课余时间学习了栈的数组存储方式:
public class ArrayStack { //创建一个名为stack的私有整型数组 private int[] stack; //创建一个指向栈顶的指针,私有,整型 private int top; //构造函数初始化 public ArrayStack(int capacity){//capacity:容量;此处指数组的大小容量 stack = new int[capacity]; top = 0; } //入栈操作 public void push(int item){//item:指要放入栈中的整数元素 if(top == stack.length){ //此段代码用来判断栈是否溢出 throw new StackOverflowError(); //如果溢出则执行异常处理 } //* stack[top++] = item; } //出栈操作 public int pop(){ if(top == 0){ //此段代码判断栈是否为空 throw new IllegalStateException("Stack is empty"); // } // return stack[--top]; } //判断栈空,如果栈指针为0则栈空 public boolean isEmpty(){ return top == 0; } }

标签:Java,int,top,中栈,public,数组,new,capacity,stack
From: https://www.cnblogs.com/zyh-828/p/18471171

相关文章

  • 深入理解Java并发读写锁—ReentrantReadWriteLock
    ReentrantReadWriteLock使用场景ReentrantReadWriteLock是Java的一种读写锁,它允许多个读线程同时访问,但只允许一个写线程访问(会阻塞所有的读写线程)。这种锁的设计可以提高性能,特别是在读操作的数量远远超过写操作的情况下。在并发场景中,为了解决线程安全问题,我们通常会......
  • Java实现数据一致性
    在分布式系统中,数据一致性是一个核心问题。数据一致性确保了系统在并发操作和网络分区等情况下,数据的准确性和可靠性。Java作为一种广泛使用的编程语言,提供了多种机制来实现数据一致性。本文将探讨Java中实现数据一致性的方法和技术。1.数据一致性的定义在分布式系统中,数据......
  • 选择排序,插入排序,快速排序的java简单实现
    代码功能以下Java代码包含了三个排序算法的实现:选择排序(SelectionSort):通过不断选择剩余元素中的最小值来排序数组。插入排序(InsertionSort):通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。快速排序(QuickSort):使用分治法,通过一个基准值......
  • Java日总结 --- 数据库连接池&Druid使用
    简介:数据库连接池是一个容器,负责分配管理数据库连接;允许应用程序重复使用一个现有的数据库连接,而不是重新建立一个好处有:资源重用,提升系统相应速度,避免数据库连接遗漏他是一个现成的数据库连接,只需要调用连接访问,不需要再次创建,当访问完毕后,会返还这个连接,可以提高效率;当连......
  • java学习10.16
    继续java图形化页面的学习,今天学的是页面的分区和布局importjava.awt.*;publicclass_1016{publicstaticvoidmain(String[]args){Frameframe=newFrame();frame.setBounds(500,500,300,300);frame.setAlwaysOnTop(true);//边界布局//BorderLay......
  • 数组
    一、一维数组的声明与字符数组(一)一维数组的声明与初始化1.一维数组的声明应指出以下三点:1)存储在每个元素中的值的类型,且他们的类型一致;2)数组名;3)数组中的元素数,数组的元素数必须用值大于等于1的常量表达式定义。4)数据可以存储任何非引用数据类型的值,数组中元素必须可以被赋......
  • JAVA程序流程控制与基本例题
    程序的三种执行顺序1.分支结构(1)if分支结果packagecom.branch;publicclassifDemo{publicstaticvoidmain(String[]args){//目标:掌握了解if语句三种形式的用法,清楚其写法和应用场景。demo3();demo2();demo1();}......
  • 每日学学Java开发规范,集合处理(附阿里巴巴Java开发手册(终极版))
    前言每次去不同的公司,码不同的代码,适应不同的规范,经常被老大教育规范问题,我都有点走火入魔的感觉,还是要去看看阿里巴巴Java开发规范,从中熟悉一下,纠正自己,码出高效,码出质量。想细看的可以去官网下载,或者下面自取阿里巴巴Java开发手册(终极版)五、集合处理【强制】关于hashCod......
  • 代码随想录算法训练营 | 300.最长递增子序列,674. 最长连续递增序列,718. 最长重复子数
    300.最长递增子序列题目链接:300.最长递增子序列文档讲解︰代码随想录(programmercarl.com)视频讲解︰最长递增子序列日期:2024-10-16想法:dp[i]表示以nums[i]结尾的最长子数列长度,需要知道i之前的j的dp[j],找到最大的dp[j],再加1,初始化都为1。Java代码如下:classSolution{pub......
  • Java 集成阿里云发送短信
    首先要有个阿里云账号,可到阿里云登录页注册并登录。登录后访问短信服务快速学习和测试,其中有逐步介绍如何发送短信:新增资质新增资质相当于进行实名认证,资质是申请签名的实名化信息。申请签名签名是短信中能代表发送者属性的字段。一般就是公司名字。发送短信时,签名会附加到......