一个数组实现两个栈

news2024/11/24 17:22:34

        一个数组实现两个栈

        基本思路:

                1.定义两个栈顶top1=-1,top2=maxsize

                2.栈满,当top1与top2相差1时栈满

 

package 例题;
//一个数组实现两个栈
public class TwoStack {
    private int[] arr;
    private int maxSize;
    //定义栈顶
    private int top1;
    private int top2;

    public  TwoStack(int maxSize) {
        if (maxSize<2){
            System.out.println("数组大小不能小于2");
            return;
        }
        this.maxSize = maxSize;
        arr=new int[maxSize];
        top1=-1;
        top2=maxSize;
    }
    //入栈
    public void push(int stackid,int value){
        if (top1+1==top2){
            System.out.println("已满");
            return;
        }
        if (stackid==1){
            top1++;
            arr[top1]=value;
        }else if (stackid==2){
            top2--;
            arr[top2]=value;
        }else {
            System.out.println("没有这个栈");
            return;
        }
    }
    //出栈
    public int pop(int stackid) throws Exception{
        if (stackid==1){
            if (top1==-1){
                throw new Exception("栈1为空");
            }
            return arr[top1--];
        }else if (stackid==2){
            if (top2==maxSize){
                throw new Exception("栈2为空");
            }
            return arr[top2++];
        }else {
            throw new Exception("没有这个栈");
        }
    }
    public void list(int stackid){
        if (stackid==1){
            for (int i =0; i <=top1 ; i++) {
                System.out.println("stack["+i+"]="+arr[i]);
            }
        }
        else if (stackid==2){
            for (int i =maxSize-1; i >=top2 ; i--) {
                System.out.println("stack["+i+"]="+arr[i]);
            }
        }else {
            System.out.println("没有这个栈");
        }

    }
}

 

                

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

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

相关文章

Kotlin(十) 空指针检查、字符串内嵌表达式以及函数默认值

空指针检查 我们在之前的章节里&#xff0c;有定义一个Study的类&#xff0c;它有两个函数&#xff0c;一个doHomework(),一个readBooks()。然后我们定义个doStudy函数&#xff0c;来调用它们&#xff0c;代码如下&#xff1a; fun doStudy(study: Study) {study.doHomework(…

SecureCRT安装、注册教程

SecureCRT保姆级安装教程&#xff01;&#xff01;&#xff01; 安装包与注册机自取。 链接&#xff1a;https://pan.baidu.com/s/1IrFkHlrtCoc67QnQ_z1TWQ?pwdt25m 提取码&#xff1a;t25m 一 前期准备 1.1 关闭病毒查杀&#xff08;如果有其他杀毒软件也要关闭&#xff0…

小明和完美序列(HashMap、Map、Entry)

小明和完美序列 知识点&#xff1a; //导包&#xff1a;HashMap、Map、Entry import java.util.HashMap; import java.util.Map; import java.util.Map.Entry;public class Main {public static void main(String [] args) { //创建Map&#xff08;HashMap&#xff09;对象 M…

基于Kinect 动捕XR直播解决方案 - 硬件篇

Kinect-V2 硬件设备 一、Kinect介绍 1、Kinect for Windows 的开发配置 Kinect V2 操作系统&#xff1a;Windows 10&#xff08;必须&#xff09; Windows Surface Windows Surface 2 开发环境&#xff1a;Visual Studio 2017 .NET Framework 4.5 (.NET Framework 4.5) 硬…

【Ubuntu 语音控制安卓设备刷短视频 orangePi zero2 H616 (已开源) 】.md uptada:23/11/07

文章目录 H616_实现Ubuntu语音控制安卓设备刷短视频小美效果展示H616 ubuntu系统 安装adb智能公元 SU-03T 离线语音模组 固件制作配合串口实现 小美_控制安卓刷抖音 H616_实现Ubuntu语音控制安卓设备刷短视频 注意&#xff1a;orangePi zero2 H616 安装系统为ubuntu 小美效果…

信创加速,美创科技加入UOS主动安全防护计划(UAPP)

近日&#xff0c;统信UOS主动安全防护计划 (UAPP) 技术沙龙暨新老会员交流活动在北京召开。 美创科技作为信创产业的重要参与者受邀参加。在2023年度UAPP合作伙伴授牌发布仪式上&#xff0c;美创科技获得统信软件授牌&#xff0c;正式成为UAPP成员单位&#xff0c;将与统信软件…

日防夜防,家贼难防?企业防泄密为什么这么难?

企业经营保密就是保生命&#xff0c;你知道吗&#xff1f; 案例分析 根据国家信息部门的报告显示&#xff0c;高达85%的数据泄密不是因为黑客工资有多厉害&#xff0c;而是由公司员工造成的。 而且现在移动办公环境&#xff0c;大家都用手机在线办公软件的工作激励外泄更容易…

使用python快速搭建接口自动化测试脚本实战总结

导读 本文将介绍如何使用python快速进行http/https接口自动化测试脚本搭建&#xff0c;实现自动请求、获取结果、数据对比分析&#xff0c;导出结果到Excel等功能&#xff0c;包括python的requests、pandas、openpyxl等库的基本使用方法。 测试需求介绍 通常&#xff0c;在我…

把枯燥的PDF文档转换为翻页电子书,一键上传搞定

PDF是我们工作生活中比较常用的文档格式之一&#xff0c;由于PDF文件可以离线观看&#xff0c;所以通常都是静态的&#xff0c;有时候密密麻麻的文字看得很是头晕眼花&#xff0c;这使得阅读体验变得单调乏味。 为了解决这个问题 &#xff0c; 我们推荐使用FLBOOK &#xff0c…

C盘清理指南(四)——垃圾清理工具

往期目录集合&#xff1a; C盘清理指南&#xff08;一&#xff09; 内存小的本质原因https://blog.csdn.net/jsl123x/article/details/134273657?spm1001.2014.3001.5501C盘清理指南&#xff08;二&#xff09;——盘符划分操作https://blog.csdn.net/jsl123x/article/detail…

客服系统本地部署:实现高效客户服务

在当今的数字化时代&#xff0c;客户服务已成为企业成功的关键因素之一。为了提供优质、高效的服务&#xff0c;许多企业选择将客服系统本地部署。这种部署方式具有许多优势&#xff0c;如提高响应速度、保障数据安全、提升客户满意度等。 一、客服系统本地部署的概念 客服系统…

windows的mysql启动错误,查看windows日志

1、点击左下角开始按钮&#xff0c;计算机上右键&#xff0c;点击【管理】。 2、在计算机管理界面依次找到【系统工具】&#xff0c;选择【时间查看器】&#xff0c;打开【windows日志】&#xff0c;点击【应用程序】 3、在右侧找到&#xff0c;最新的mysql错误信息。双击查看。…

移动端性能专项测试之内存 - 进阶篇

在 Android 系统中内存作为重要的资源&#xff0c;一直是开发及测试关注的重点&#xff0c;内存不足或者内存资源滥用都会导致严重的问题。本篇文章将会从底层出发给大家介绍 OOM&#xff08;Out Of Memory&#xff09;和 LMK&#xff08;Low Memory Killer&#xff09;等内存相…

python趣味编程-使用 Tkinter 进行 RPS 游戏

使用 Tkinter 的 RPS 游戏是用Python编程语言编码的应用程序。该项目使用 tkinter 库来显示游戏应用程序的 GUI。游戏机制包括选择一个符号来击败对手。在 Python 中使用 Tkinter 的 RPS 游戏是一种基于随机机会的游戏,您通过简单的运气获胜。这个使用 Tkinter 的 RPS 游戏可以…

基于SSM的化妆品购物商城/美妆销售系统

基于基于SSMVue的化妆品购物商城/美妆销售系统~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatisVue工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 主页 商品详情 购物车 个人中心 登录界面 管理员界面 摘要 基于SSM的化…

全球30米SRTM高程DEM数据详解

如果你在工作或学习中需要用到30米高程DEM数据&#xff0c;我们可以免费为你提供一个省的高程DEM数据。 你只需要通过关注“水经注GIS”&#xff0c;并在后台回复“免费数据”进群后即可获取下载地址。 这里&#xff0c;我们为大家分享一下全球30米SRTM高程DEM数据的相关参数…

【C#学习笔记】事件

前言 在之前我学习委托的时候&#xff0c;写到了 学习了委托&#xff0c;事件其实也就学习了&#xff0c;事件和委托基本上一模一样&#xff1a; 然而在实际工作中通过对事件的深入学习后发现&#xff0c;实际上事件的使用比委托要严格一些&#xff0c;本节将详细讲解事件的使…

Android 深色模式切换适配

在Android11上测试 1&#xff0c;把需要适配的资源文件复制一份后缀加上-night&#xff0c;里面就放置变主题后的资源 2&#xff0c;两个主题一个白&#xff0c;一个黑&#xff0c;分别放置在对应的valuse-styles.xml中 <style name"Theme.LaserMachPor" parent&…

MATLAB / Simulink HDL 快速入门

MATLAB / Simulink HDL 快速入门 我们将使用实例讲解MATLAB / Simulink HDL 使用入门。 开始这个项目&#xff0c;首先需要创建一个包含 Stateflow 的新 Simulink 。只需单击画布中的任意位置并开始输入 Stateflow。 此时应该能在画布上看到 Stateflow 图标。双击图标进行编辑。…

埃安AION V Plus 80星辰版:纯电家庭SUV市场的新续航里程碑

埃安汽车全新AION V Plus 80星辰版上市&#xff1a;定位600km续航家庭SUV&#xff0c;亲民价引领市场新趋势 埃安汽车宣布其全新车型——AION V Plus 80星辰版正式上市&#xff0c;以18.59万元的竞争性价格和超过600公里的续航力&#xff0c;响应了中国家庭对于多功能、…