📅  最后修改于: 2023-12-03 14:54:05.835000             🧑  作者: Mango
堆栈(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>
类来实现任何类型的数据结构。