使用数组模拟栈的相关操作【栈1.1】

public class ArrayStackDemo {public static void main(String[] args) {ArrayStack arrayStack = new ArrayStack(4);Scanner sc = new Scanner(System.in);boolean loop = true;char key = ' ';while (loop) {System.out.println("======栈操作菜单项======");System.out.println("1. s(showList) 打印栈元素");System.out.println("2. a(push) 元素入栈");System.out.println("3. p(pop) 元素出栈");System.out.println("4. e(exit) 程序退出0");System.out.println("请输入你的选择:");key = sc.next().charAt(0);switch (key) {case 's':case '1':arrayStack.showList();break;case 'a':case '2':System.out.println("请输入你要添加的元素:");int value = sc.nextInt();arrayStack.push(value);break;case 'p':case '3':try {System.out.println("出栈元素为:" + arrayStack.pop());} catch (Exception e) {System.out.println(e.getMessage());}break;case 'e':case '4':sc.close();loop = false;System.out.println("程序退出~");
//                    System.exit(0);break;default:break;}}}
}//定义一个ArrayStack 表示栈
class ArrayStack {private int maxSize; //栈的大小private int[] stack; //定义一个栈private int top = -1; //定义一个栈顶指针public ArrayStack(int size) {maxSize = size;stack = new int[maxSize];}//栈满public boolean isFull() {return top == maxSize - 1;}//栈空public boolean isEmpty() {return top == -1;}//添加元素public void push(int value) {if (isFull()) {System.out.println("栈满,不能继续添加元素~");return;}stack[++top] = value;}//元素出栈public int pop() {if (isEmpty()) {throw new RuntimeException("栈空,无元素出栈~");}return stack[top--];}//遍历栈元素public void showList() {if (isEmpty()) {System.out.println("栈空,无元素遍历~");return;}for (int i = top; i >= 0; i--) {System.out.printf("元素 %d \n", stack[i]);}}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230974.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot和微信小程序网上购物商城

文章目录 项目介绍主要功能截图:部分代码展示设计总结项目获取方式🍅 作者主页:超级无敌暴龙战士塔塔开 🍅 简介:Java领域优质创作者🏆、 简历模板、学习资料、面试题库【关注我,都给你】 🍅文末获取源码联系🍅 项目介绍 基于SpringBoot和微信小程序网上购物商城…

范仲淹仅存五首词作,篇篇经典

范仲淹,北宋时期杰出的政治家,文学家,提起他首先想到初中那篇《岳阳楼记》,难倒无数背诵困难户,它虽然难背,但却是一篇文字排列极美,意境极佳的美文。 “不以物喜,不以己悲&#xf…

Android hilt使用

一,添加依赖库 添加依赖库app build.gradle.kts implementation("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-android:2.49")annotationProcessor("com.google.dagger:hilt-compiler:2.49"…

Python顶级组件

顶级组件 Python 解释器可以从多种源获得输入:作为标准输入或程序参数传入的脚本,以交互方式键入的语句,导入的模块源文件等等。 这一章将给出在这些情况下所用的语法。 9.1. 完整的 Python 程序 虽然语言规范描述不必规定如何发起调用语言…

【leetcode刷题之MySQL】

175. 组合两个表 select firstName,lastName,city, state from Person left join Address on Person.personIdAddress.personId LEFT JOIN:保留左表内容,右表不存在的列使用 Null 代替 RIGHT JOIN:保留右表中连接字段的内容,左表…

【ubuntu】Linux常用截屏软件

Linux截屏软件及安装教程 截屏软件简介 在Linux系统中,有多种强大的截屏工具可供选择。以下是一些常用的截屏软件: Shutter 功能强大,支持全屏、窗口、选区等多种截屏方式。可以添加注释、标记和编辑截图。 Flameshot 轻量级截屏工具&…

程序人生,由“小作文”事件想到的

时势造英雄。自媒体时代,火出圈是靠大众的审美和爱好,自己能做的关键,其实是做好自己,选择向上生长,持续不断的读书、学习。同时保持一份好奇心,培养一个兴趣爱好并自得其乐。 展示自我 回想起我小时候&am…

Linux内核实现AES加密

本文涉及到编写一个内核模块&#xff0c;扩展内核密钥类型并使用该密钥实现AES加密。以下是一个简单的示例代码&#xff0c;演示如何在C语言中实现一个内核模块以及在内核中使用密钥进行AES加密。 c #include <linux/module.h> #include <linux/kernel.h> #includ…

Promise执行顺序

小编建议小伙伴们不要跳点看&#xff0c;每一点都是衔接&#xff0c;有比较的 本篇文章考查 ①promise是同步任务还是微任务 ②promise.then()什么时候执行&#xff0c;是微任务还是宏任务 ③如何控制状态变化&#xff0c;不同状态变化&#xff0c;会执行哪个回调函数 1、以下代…

进制之间的转换——n进制转换为m进制(C/C++实现,简单易懂)

目录 &#x1f308;前言&#xff1a; &#x1f4c1; 什么是进制转换&#xff1a; &#x1f4c1;其他进制转换成十进制&#xff1a; &#x1f4c2;二进制( B ) ——> 十进制( D ) &#x1f4c2;八进制( O ) ——> 十进制( D ) &#x1f4c2;十六进制( H ) ——> 十进制…

运维实践|采集MySQL数据出现many connection errors

文章目录 问题出现问题分析当前环境问题分析 解决方案1 检查调度事件任务是否开启2 开启调度事件任务3 创建一张日志表4 创建函数存储过程5 创建事件定时器6 开启事件调度任务7 检查核实是否创建 总结 问题出现 最近在做OGG结构化数据采集工作&#xff0c;在数据采集过程中&am…

抖音商品详情API接口在电商行业中的重要性及实时数据获取实现

随着移动互联网的快速发展&#xff0c;电商行业不断壮大。抖音作为一款短视频社交应用&#xff0c;近年来在电商领域取得了显著成果。本文将探讨抖音商品详情API接口在电商行业中的重要性&#xff0c;以及如何通过实时数据获取提高业务效率。我们将介绍相关的技术背景、API接口…

Linux 操作系统 004-远程连接

Linux 操作系统 004-远程连接 本节关键字&#xff1a;Linux、远程连接、XManager、Xshell、ssh 本节相关指令&#xff1a; XManager的下载 XManager官网 Xmanager的安装 1、双击下载好的安装包&#xff0c;下一步 2、接受许可&#xff0c;下一步 3、产品密钥&#xff08;试…

AngularJS

理解实现代码的逻辑为主要&#xff0c;代码怎么写为次要。 参考资料&#xff1a; 《AngularJS入门与进阶》&#xff0c;江荣波著 前端开发常用框架 React&#xff1a;由Facebook开发&#xff0c;用于构建用户界面的JavaScript库&#xff0c;以组件化和虚拟DOM著称。 Angular&…

2024最新FL Studio21.2MAC电脑版中文版下载安装步骤教程

FL Studio 简称FL&#xff0c;全称Fruity Loops Studio&#xff0c;因此国人习惯叫它"水果"。目前最新版本是FL Studio21.1.1.3750版本&#xff0c;它让你的计算机就像是全功能的录音室&#xff0c;大混音盘&#xff0c;非常先进的制作工具&#xff0c;让你的音乐突破…

docker的资源限制及容器应用

一、docker资源限制 在使用 docker 运行容器时&#xff0c;一台主机上可能会运行几百个容器&#xff0c;这些容器虽然互相隔离&#xff0c;但是底层却使用着相同的 CPU、内存和磁盘资源。如果不对容器使用的资源进行限制&#xff0c;那么容器之间会互相影响&#xff0c;小的来说…

DC-5靶场

目录 DC-5靶机&#xff1a; 先进行主机发现&#xff1a; 发现文件包含&#xff1a; 上传一句话木马&#xff1a; 反弹shell&#xff1a; 提权漏洞利用&#xff1a; 下载exp&#xff1a; 第一个文件 libhax.c 第二个文件r…

MATLAB程序设计课后作业七(2)

绘制如下图形...... 作者不想写了&#xff0c;也不会写&#xff0c;明显老师刁难......我已畏惧 Im so tired......

闪回表-DM8:达梦数据库闪回

DM8:达梦数据库闪回表 环境介绍1 开启闪回功能2 创建测试示例2.1 闪回表到指定时间点2.2 闪回表到指定的LSN 环境介绍 当系统 INI 参数 ENABLE_FLASHBACK 置为 1 时&#xff0c;闪回功能开启&#xff0c;可以使用闪回表或进行闪回查询。DM MPP 环境暂不支持闪回功能。 闪回表 …

Hadoop伪分布式集群安装

平时我们学习Hadoop技术时&#xff0c;可不一直沉溺于理论学习&#xff0c;一定要理论和实践相结合&#xff0c;所以就必须有一个Hadoop环境&#xff0c;我们能在这个Hadoop环境里进行各种操作&#xff0c;来验证我们在书本上学到的知识。最小的环境&#xff0c;至少要具有一台…