c#stack

stack概念

Stack 是c#封装好的类

本质是object\[\]数组,只是封装了特殊的存储规则

先进后出

cs 复制代码
Stack stack = new Stack();

增取删改

压栈

cs 复制代码
stack.Push(1);
stack.Push(1.2f);

弹栈

cs 复制代码
object v = stack.Pop();

查

把栈顶的取出来看一看

cs 复制代码
 v = stack.Peek();
 v = stack.Pop();

查看元素是否在栈中

cs 复制代码
if (stack.Contains(1.2f))
{
    Console.WriteLine("存在");
}

改变

无法改变其中的元素,只能压和弹

实在要改,只有清空

cs 复制代码
stack.Clear();
stack.Push(1);

遍历

长度Count

cs 复制代码
Console.WriteLine(stack.Count);
 foreach(object item in stack)
 {
   Console.WriteLine(item);
 }

将栈转化为数组

cs 复制代码
object[] array = stack.ToArray();
for(int i = 0; i < array.Length; i++)
{
    Console.WriteLine(array[i]);
}

循环弹栈

cs 复制代码
while (stack.Count > 0)
{
    object o = stack.Pop();
    Console.WriteLine(o);
}
Console.WriteLine(stack.Count);
相关推荐
迪康Defender3 分钟前
终端安全事后追溯能力解析:本地审计模块设计思路与落地实践
运维·开发语言·人工智能·安全·php·安全威胁分析·运维开发
yujunl6 分钟前
开发一个可以用APIFOX来调试的接口
开发语言
苏辰澈23 分钟前
C++自己的族谱规则:继承详解下
c语言·开发语言·c++·visualstudio
hunter19901027 分钟前
英语作文题目
开发语言
谢亮_vipxieliang42 分钟前
Go基础数据类型全解
开发语言·后端·golang
泡海椒44 分钟前
JQuick-Excel 导入反向映射实战:让中文表头稳定落到业务字段
开发语言·python·excel
空堂与归1 小时前
AI 与 SI(超级智能):先分清窄智能与超级智能的边界
开发语言·人工智能·gpt
熊猫钓鱼>_>1 小时前
Kotlin Multiplatform for OpenHarmony 实战:为 kotlin-inject 实现依赖注入适配
开发语言·华为·kotlin·ai编程·inject·鸿蒙·openharmony
Wang's Blog1 小时前
Java框架 SpringCloud 快速入门: 网关的 CORS 跨域配置
java·开发语言·spring cloud
code2cat1 小时前
【随笔】MCP工具错误怎样分层:先读反馈,再决定下一步
开发语言·后端·ai agent·mcp