首页 > 编程语言 >C#堆栈(Stack)

C#堆栈(Stack)

时间:2024-03-11 23:23:29浏览次数:20  
标签:Console C# System st Push WriteLine 堆栈 Stack

原文链接:https://www.cnblogs.com/daihaoliulingyi601/p/17947263

在C#中,堆栈类表示一个后进先出的对象集合,当你需要对项目进行后进先出的访问时,则可以使用堆栈。向堆栈中添加元素称为推入元素,从堆栈中移除元素称为弹出元素。

一、堆栈类中的属性

下表列出了堆栈类中的一些常用的属性

 

二、堆栈类中的方法

下面列出了堆栈类中一些常用的方法

 

示例代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace _011
{
    /// <summary>
    /// 堆栈示例
    /// 后进先出
    /// </summary>
    internal class Program
    {
        static void Main(string[] args)
        {
            Stack st = new Stack();
            st.Push('A');
            st.Push('B');
            st.Push('C');
            st.Push('D');

            Console.WriteLine("当前堆栈中的元素:");
            foreach(char c in st)
            {
                Console.Write(c + " ");
            }
            Console.WriteLine();

            st.Push('E');
            st.Push('F');
            Console.WriteLine("堆栈中下一个弹出的值是:\r\n{0}",st.Peek());
            Console.WriteLine("当前堆栈中的元素:");
            foreach (char c in st)
            {
                Console.Write(c + "");
            }
            Console.WriteLine();

            Console.WriteLine("删除值下面的值:");
            Console.Write(st.Pop() + " ");
            Console.Write(st.Pop() + " ");
            Console.Write(st.Pop() + " " + "\r\n");//"\r\n"的意思是回车换行符
            Console.WriteLine("当前堆栈中的元素:"); 
            foreach (char c in st)
            {
                Console.Write(c + " ");
            }
            Console.ReadKey();
        }
    }
}

  

标签:Console,C#,System,st,Push,WriteLine,堆栈,Stack
From: https://www.cnblogs.com/Dongmy/p/18067350

相关文章

  • JAVA常用类--Cleaner类
    Cleaner类注意:在JDK1.9以上版本可使用在Java程序中提供有GC的垃圾回收机制,如果发现堆内存不足时一定要进行垃圾回收以释放内存空间但如果某些对象在回收前需要做一些处理,可以通过覆写Object类中的finalize()方法来实现这种回收前的处理finalize()方法的定义:@Deprecated(sin......
  • Docker compose部署Typecho博客系统
    编辑docker-compose.yml文件:services:typecho:image:joyqi/typecho:nightly-php8.2-apacherestart:alwaysports:-8086:80#端口映射,把博客默认的80端口映射到8086端口environment: TYPECHO_DB_HOST:typecho_db#默认值是localhost,docker......
  • 部署测试平台-使用docker安装mysql
    1.拉取mysql5.7镜像:dockerpullmysql:5.72.新建数据库挂载目录:mkdir-p/root/data/mysql5.7/conf   配置文件mkdir-p/root/data/mysql5.7/data   数据库数据目录mkdir-p/root/data/mysql5.7/log   数据库日志3.把配置文件my.cnf放到/root/data/m......
  • 理解async 和 await
    1、首先需要理解async和await的基本含义  async是一个修饰符,async定义的函数会默认的返回一个Promise对象resolve的值,因此对async函数可以直接进行then操作,返回的值即为then方法的传入函数//0.async基础用法测试asyncfunctionfun0(){console.log(1)r......
  • Intel Macbook安装android模拟器方案
    对照了几个方案,不想安装游戏平台的模拟器,也不想安装androidstudio,于是想采用虚拟机的方式:方案一:android-x86安装在vmware上。参考:InstallAndroidx86inVMwareFusion-Vimalin (主要参考这个,stepbystep很详细)https://forum.xda-developers.com/t/android-x86-wifi-issue.......
  • ABC334
    F:我们可以更好的利用一操作——当且仅当钱不够用时,加上经过的所有点中最大的\(P\),也就是在那个点插入一次一操作。设\(dp_{i,j,x,y}=(step,money)\)表示到达点\((i,j)\),经过的最大的\(P\)在点\((x,y)\),最少需要\(val\)次一操作(移动操作最后算上就行了),此前提下手头的钱......
  • Macbook Air去掉刘海
    前言最近想买一台新电脑,最终选中了MacbookAirM2版本,主要是使用强度并不大,而且我也很想加入星巴克气氛组,于是选择了它。也是因为它相比新发布的M3MacbookAir来说,性价比还是高一些,再加上走的是官翻+24期免息,可以说非常满意了。但是很不爽的是,它有刘海,这就让人很不爽了。 ......
  • 线段树(C++)
    线段树的本质就是树状数组,只不过线段树不再需要lowbit函数来定位对应数据的存储位置,取而代之的则是直接计算分叉结果位置。node结构体​ 通常而言,线段树所需要的存储空间约等于原数组的4倍。由于线段树需要存储区间的范围,所以我们需要自己定义一个新结构体来方便存储:constint......
  • [NCS] nrf5340 GPIO控制
    1.测试环境硬件:nrf5340开发板ncs版本:2.5.22.移植2.1CMakeLists.txt添加源文件target_sources(appPRIVATEsrc/main.csrc/bsp_led.c)2.2bsp_led.h/***@filebsp_led.h*@authorwfagly*@brief基于安富莱电子(www.armfly.com)例子修改*@version1.0.1*@da......
  • (C++)树状数组和线段树的VSCode Snippet
    学都学了,肯定要往snippet里塞好东西嘛{ //Placeyoursnippetsforcpphere.Eachsnippetisdefinedunderasnippetnameandhasaprefix,bodyand //description.Theprefixiswhatisusedtotriggerthesnippetandthebodywillbeexpandedandinserted.......