📜  带有示例的C#堆栈(1)

📅  最后修改于: 2023-12-03 14:54:05.835000             🧑  作者: Mango

带有示例的C#堆栈

堆栈(Stack)是一种先进后出(Last In First Out,LIFO)数据结构,通常用于临时存储数据的场景,例如逆序输出或后退操作。

在C#中,可以使用System.Collections.Generic命名空间中的Stack<T>泛型类来实现堆栈数据结构,其中T表示存储在堆栈中的元素类型。

以下是一个简单的示例程序,展示如何使用Stack<T>类实现一个基本的整数型堆栈:

using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
        Stack<int> stack = new Stack<int>();
        stack.Push(1);
        stack.Push(2);
        stack.Push(3);
        
        Console.WriteLine("Stack contents (top to bottom):");
        foreach (int i in stack)
        {
            Console.WriteLine(i);
        }
        
        int popped = stack.Pop();
        Console.WriteLine("Popped value: {0}", popped);
        
        Console.WriteLine("Stack contents after pop (top to bottom):");
        foreach (int i in stack)
        {
            Console.WriteLine(i);
        }
        
        Console.ReadKey();
    }
}

以上程序首先创建了一个Stack<int>实例,并利用Push方法将三个整数值压入堆栈中,然后利用foreach循环遍历堆栈中的元素,并将它们依次打印到控制台。

接着,程序调用Pop方法弹出堆栈中的一个元素,并将其输出到控制台。最后,程序再次遍历堆栈中的剩余元素,并将它们打印到控制台。

运行此程序,输出如下:

Stack contents (top to bottom):
3
2
1
Popped value: 3
Stack contents after pop (top to bottom):
2
1

以上示例程序演示了如何创建一个整数型堆栈,并向其中压入元素,遍历堆栈中的元素,弹出堆栈中的一个元素,并再次遍历堆栈中的剩余元素。开发人员可以通过类似的方式使用Stack<T>类来实现任何类型的数据结构。