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);
相关推荐
lsswear5 小时前
Python 并发 线程
开发语言·python
郑州光合科技余经理6 小时前
国际版外卖系统:税率字段怎么和订单主流程解耦
android·java·开发语言·前端·后端·php·ai编程
软件课代表CiCi6 小时前
运行库是什么?电脑缺运行库怎么办?c++运行库缺失修复全攻略
开发语言·c++·windows·电脑·dll修复·dll丢失·运行库
Ivanqhz6 小时前
MLIR OpBuilder
开发语言·python·mlir
zxy28472253017 小时前
C# 音频倍速播放
c#·音频·naudio·soundtouch·倍速
红宝村村长8 小时前
windows笔记本双系统ubuntu设置
开发语言
菜鸟~noob2339 小时前
【电子战】第15篇:混合定位——TDOA/FDOA/AOA 联合【含matlab代码】
开发语言·matlab
Dreams_l10 小时前
死信队列和延迟队列介绍
java·开发语言
Water_Sunzhipeng11 小时前
HandyControl Demo 设置特定框架记录
c#
Zenova EdgeOS11 小时前
Python 工业边缘 redis-py 异步实战
开发语言·redis·python