通过实例学C#之Stack类

发布于:2024-05-10 ⋅ 阅读:(29) ⋅ 点赞:(0)

简介

集合,后进先出。


构造函数

Stack<>()

不使用参数创建stack对象。


Stack<>(ICollection col)

使用数组col来创建stack对象。


常用属性

Count

获取stack中包含的元素数。

static void Main(string[] args)
{
    string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
    Stack<string> strStack = new Stack<string>(strArray);

    Console.WriteLine("strStack对象的元素数为:" + strStack.Count);
    Console.ReadKey();
}

运行结果:
strStack对象的元素数为:7
           

常用方法

stack类的常用方法与Queue大多相同,这里只挑一些不同的方法来说一下。


Pop()

删除并返回stack顶部的对象。

 static void Main(string[] args)
 {
     string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
     Stack<string> strStack = new Stack<string>(strArray);

     string stackPop = strStack.Pop();
     Console.WriteLine("stackPop=" + stackPop);
     Console.WriteLine("----------------------------");
     Console.WriteLine("stack剩下的元素有:");

     foreach (var item in strStack)
     {
         Console.WriteLine(item);
     }

     Console.ReadKey();
 }

运行结果:
stackPop=sunday
----------------------------
stack剩下的元素有:
saturday
friday
thursday
wednesday
tuesday
monday

Push(object obj)

在stack的顶部插入一个对象obj。

static void Main(string[] args)
{
    string[] strArray = { "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday" };
    Stack<string> strStack = new Stack<string>(strArray);

    strStack.Push("hello");

    Console.WriteLine("----------------------------");
    Console.WriteLine("stack剩下的元素有:");

    foreach (var item in strStack)
    {
        Console.WriteLine(item);
    }

    Console.ReadKey();
}

运行结果:
----------------------------
stack剩下的元素有:
hello
sunday
saturday
friday
thursday
wednesday
tuesday
monday