C# 关于栈 Stack

发布于 2023-07-01  103 次阅读


说明

在 C# 中,Stack 是一种后进先出(Last-In-First-Out,LIFO)的数据结构,它用于存储和管理对象集合。

Stack 类是.NET Framework 提供的一个泛型类,位于 System.Collections.Generic 命名空间中。它可以存储任意类型的对象,并提供了一组方法和属性来操作和管理栈中的元素。

以下是一些 Stack 类的常用成员:

  • Push(T item): 将元素推入栈的顶部。
  • Pop(): 移除并返回栈顶的元素。
  • Peek(): 返回栈顶的元素,但不移除它。
  • Count: 获取栈中元素的数量。
  • Clear(): 清空栈中的所有元素。

使用 Stack 类可以轻松地实现栈的操作。以下是一个示例:

Stack<int> stack = new Stack<int>();

stack.Push(1);  // 将元素 1 推入栈顶
stack.Push(2);  // 将元素 2 推入栈顶
stack.Push(3);  // 将元素 3 推入栈顶

int topElement = stack.Peek();  // 获取栈顶的元素,值为 3
Console.WriteLine(topElement);

int poppedElement = stack.Pop();  // 移除并返回栈顶的元素,值为 3
Console.WriteLine(poppedElement);

Console.WriteLine(stack.Count);  // 栈中剩余元素的数量,值为 2

stack.Clear();  // 清空栈中的所有元素
Console.WriteLine(stack.Count);  // 栈中剩余元素的数量,值为 0

在上述示例中,我们创建了一个 Stack<int> 类型的栈,并使用 Push 方法将元素推入栈顶,使用 Peek 方法获取栈顶的元素,使用 Pop 方法移除并返回栈顶的元素,使用 Count 属性获取栈中元素的数量,使用 Clear 方法清空栈中的所有元素。

总结来说,Stack 类提供了一种方便的数据结构来处理后进先出的操作,适用于需要按照特定顺序处理元素的场景。