en造数据结构与算法C# 用数组实现个栈还不简单???看我一秒破之!!!(unity演示)

news2024/11/24 20:38:04

实现效果 

 

线性表,线性表是指数据元素按顺序排列的一种数据结构,下面这些东西可以说都是线性表,所以用array实现三者一点问题都没有

分别是List动态数组,stack栈和queue队列,今天就秒掉stack

 

栈:先进后出

实现思路

用数组表示的话,只需要给最后一位打个标记不就行了

当我压栈(添加元素)的时候,把标记后移,再添加元素

弹栈的时候把标记前移,原来的元素我直接不管了,等待下一次压栈的时候就直接给他覆盖了

想明白了就直上代码

无需注意前面的方法,只需看最下面的Arr2stack类即可

public class Arr2Stack : MonoBehaviour {
    Arr2stack arr = new Arr2stack(new int[10]); // 初始化一个大小为10的栈

    void Update() {
        // 检测数字键按下
        for (int i = 0; i <= 9; i++) {
            if (Input.GetKeyDown(i.ToString())) {
                arr.Push(i);
                Debug.Log($"压入了数字: {i}");
            }
        }

        // 检测Backspace键按下
        if (Input.GetKeyDown(KeyCode.Backspace)) {
            int poppedValue = arr.Pop();
            Debug.Log($"弹出了数字: {poppedValue}");
        }
    }
}

public class Arr2stack {

    int[] arr;
    int top = -1;

    public Arr2stack(int[] arr) {
        this.arr = new int[arr.Length];
        for (int i = 0; i < arr.Length; i++) {
            this.arr[i] = arr[i];
        }
    }

    public void Push(int value) {
        if (top < arr.Length - 1) {
            arr[++top] = value;
        }
        else {
            Debug.Log("栈已满,无法压栈");
        }
    }

    public int Pop() {
        if (top == -1) {
            Debug.Log("栈为空,无法出栈");
            return 0;
        }
        Debug.Log($"弹出了{arr[top]}");
        return arr[top--];
    }
}

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

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

相关文章

Vue邮件发送:如何有效集成邮件发送功能?

vue邮件发送功能实现方法&#xff1f;Vue邮件发送性能怎么优化&#xff1f; 无论是用户注册验证、密码重置&#xff0c;还是通知提醒&#xff0c;邮件发送功能都能提供重要的支持。本文将详细探讨如何在Vue项目中有效集成邮件发送功能&#xff0c;确保邮件能够准确、及时地送达…

万龙觉醒免费辅助:VMOS云手机辅助巴克尔阵容搭配攻略!

《万龙觉醒》是一款策略类手游&#xff0c;选择合适的英雄阵容搭配能够极大提升战斗效果。而借助VMOS云手机的辅助功能&#xff0c;玩家可以更加轻松地管理游戏进程&#xff0c;优化操作体验。以下是VMOS云手机的三大核心功能&#xff0c;帮助你更好地掌控《万龙觉醒》战局。 V…

通信工程学习:什么是QoS服务质量

QoS服务质量 在通信工程中&#xff0c;QoS&#xff08;Quality of Service&#xff0c;服务质量&#xff09;是一个至关重要的概念&#xff0c;它关乎网络性能的提升和用户体验的优化。QoS是网络的一种安全机制&#xff0c;旨在通过一系列技术和策略来优化网络资源的分配&#…

代码随想录打卡Day30

今天的题目还可以&#xff0c;第一题看了视频&#xff0c;看卡哥把问题转化成数学问题&#xff0c;把图画出来以后就会了&#xff0c;剩下两题没看视频直接AC的。 452. 用最少数量的箭引爆气球 这个题主要是画完图以后就很好理解了&#xff0c;需要先对区间按照区间左值进行排…

飞速了解Conda的作用和安装使用教程

当我们想要在github上克隆不同的项目下来运行时&#xff0c;会发现项目的语言环境或包的版本不同&#xff0c;出现版本冲突问题会导致程序无法运行、兼容性问题频出。我们常常需要管理多个项目&#xff0c;每个项目可能依赖于不同的包版本或编程语言环境。如果不加以管理&#…

华为OD机试 - 报文响应时间 - 贪心算法、位运算(Java 2024 E卷 200分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

基于SpringBoot的准妈妈孕期交流平台

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot框架 工具&#xff1a;IDEA/Eclipse、Navicat 系统展示 首页 管理员登录 用户管理 早教…

C++ STL关联容器Set与集合论入门

1. 简介 Set&#xff08;集合&#xff09;属于关联式容器&#xff0c;也是STL中最实用的容器&#xff0c;关联式容器依据特定的排序准则&#xff0c;自动为其元素排序。Set集合的底层使用一颗红黑树&#xff0c;其属于一种非线性的数据结构&#xff0c;每一次插入数据都会自动…

【F的领地】项目拆解:小学教辅资料

项目介绍 虚拟资料项目的赛道其实一直可以做&#xff0c;实际上就是一个信息差项目。 知识付费是常青树&#xff0c;人天生有为知识付费的倾向。 而且虚拟资料通常一份 19~99 的资料有这方面需求很容易就能付款。 主要是产附属的流量再提问题。 我有个同乡&#xff0c;18年…

DDOS攻击学习-scapy使用python编写SYN拒绝服务攻击

文章目录 启动&配置发送数据怎么查看回答查看详细的数据sinff()hexdump() 使用python进行SYN拒绝服务攻击 安装npcap可以查看此教程 启动&配置 scapy#控制台输入如图所示可以查看IP等, 格式是 变量名 IP()/TCP()你可以查看相关信息 变量名.show()以上的值都可以进行…

2024第三届大学生算法大赛 真题训练2 解题报告 | 珂学家 | FFT/NTT板子

前言 题解 D是FFT板子题&#xff0c;这么来看&#xff0c;其实处于ACM入门题&#xff0c;哭了T_T. D. 行走之谜 思路: FFT 如果你知道多项式乘法&#xff0c;继而知道FFT&#xff0c;那题纯粹就是板子题&#xff0c;可惜当时比赛的时候&#xff0c;无人AC。 这题来简单抽象…

最好磁吸充电宝是哪个牌子?目前公认好用磁吸充电宝排行榜!

在现代生活中&#xff0c;移动设备的普及使得充电宝成为了人们日常出行必备的工具。尤其是磁吸充电宝&#xff0c;以其便捷的使用体验和高效的充电速度&#xff0c;逐渐受到消费者的青睐。然而&#xff0c;在选择充电宝时&#xff0c;安全性能是不可忽视的重要因素。一个好的充…

Redis入门1

Redis简介 Redis是一个基于内存的 key-value 结构数据库。 基于内存存储&#xff0c;读写性能高 适合存储热点数据(热点商品、资讯、新闻) 企业应用广泛 官网:https://redis.io 中文网:https://www.redis.net.cn/ window版启动命令 redis-server.exe redis.windows.con…

使用dnSpy调试服务端IIS部署的WebService的程序集

服务器上部署的C#编写WebService出现问题&#xff0c;需要排查&#xff0c;但没有对应的源码&#xff0c;只能在服务器端想办法调试。   IIS中部署的WebService服务&#xff0c;其应用程序池对应操作系统中的w3p.exe进程&#xff08;高版本IIS对应的进程是w3wp&#xff09;。…

[001-02-001]. 第07-03节:理解线程的安全问题

我的后端学习大纲 我的Java学习大纲 当多个线程共享一份数据的时候&#xff0c;不同的线程对数据进行操作&#xff0c;就可能会导致线程安全问题&#xff0c;比如卖票过程中出现了错票和重复票的问题&#xff1a; 1、卖票问题分析&#xff1a; 1.1.理想状态&#xff1a; 1.2.极…

软考架构-面向服务的架构风格

一、SOA 1、概念 面向服务开发&#xff0c;服务之间通过简单、精确定义接口进行通信&#xff0c;不涉及底层编程接口和通信模型。多个服务挂载在ESB&#xff08;企业服务总线&#xff09;上进行通信。 2、特征 可从企业外部访问、随时可用&#xff08;服务请求能被及时响应…

这款神器,运维绝杀 !!! 【送源码】

项目简介 CrowdSec 是一款开源的、基于社区协作的网络安全防护工具&#xff0c;它通过分析和共享IP信誉数据来对抗恶意行为。该软件不仅支持IPv6&#xff0c;而且相较于传统的Python实现&#xff0c;其采用Go语言编写&#xff0c;运行速度提升了60倍。CrowdSec 利用Grok模式解析…

Datasheet SHT20芯片的数据手册

Datasheet SHT20芯片的数据手册 I2C读取湿度传感器返回的16位数据。SCL SDA 14位有效&#xff0c;我以为是将后二位删除&#xff0c;实际上看完手册才知道是后二位值无用&#xff0c;不是删除&#xff0c;而是清0&#xff0c;实际上还是16为&#xff0c;知识后二位是0还是1&…

Java重修笔记 第五十四天 坦克大战(四)多线程基础

线程 当点击运行按钮运行程序时&#xff0c;就相当于启动了一个进程&#xff0c;虚拟机进入 mian 方法后会开启一个名为 mian 的主线程&#xff0c;main 方法体中创建一个线程对象&#xff0c;调用该线程对象的 start 方法又创建一个子线程&#xff0c;子线程的启动并不会阻塞…

2024/9/11学校教的响应式前端能学到什么?

9.11 1&#xff09;砌砖 确定整体框架&#xff0c;而不是想到一点写一点&#xff0c;类似盖大楼&#xff0c;不是想到哪盖到哪&#xff0c;先砌砖&#xff0c;再装修 砌砖前先划分好砌砖范围(初始化样式) 清除body自带的内外边距 * { margin: 0; padding: 0; }去掉li的小圆点…