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);
相关推荐
cch89182 小时前
Laravel vs 主流PHP框架:终极对决
开发语言·php·laravel
我能坚持多久2 小时前
C++类与对象(中)
开发语言·c++
江奖蒋犟2 小时前
【C++】map和set
开发语言·数据结构·c++·set·map
白杆杆红伞伞2 小时前
Qt Event
开发语言·qt
Magic--2 小时前
Qt 桌面计算器项目
开发语言·qt
李昊哲小课2 小时前
Python办公自动化教程 - 第2章 单元格样式魔法 - 让表格变得美观专业
开发语言·python·excel·openpyxl
张健11564096482 小时前
QT创建线程
开发语言·qt
鲸渔2 小时前
【C++ 输入输出】cin、cout、cerr 与格式化输出
开发语言·c++·算法
3GPP仿真实验室2 小时前
【MATLAB源码】水声:时变信道估计仿真平台
开发语言·matlab