📜  在C#中实现堆栈(1)

📅  最后修改于: 2023-12-03 15:23:23.060000             🧑  作者: Mango

在C#中实现堆栈

在C#中,我们可以使用System.Collections.Generic命名空间中的Stack类来实现堆栈。Stack类是一种后进先出(LIFO)集合,其中最后添加的元素最先被移除。

创建堆栈实例

要创建一个Stack实例,我们需要指定元素类型T。例如,以下代码创建一个整数类型的堆栈:

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

我们还可以将一组元素添加到堆栈中:

Stack<int> stack = new Stack<int>(new int[] { 1, 2, 3 });
堆栈操作

以下是Stack类的常用操作:

Push

Push方法将一个元素推入堆栈顶部:

stack.Push(4);
Pop

Pop方法从堆栈顶部删除并返回一个元素:

int x = stack.Pop();
Peek

Peek方法返回堆栈顶部的元素,但不会将其从堆栈中删除:

int x = stack.Peek();
Count

Count属性返回堆栈中的元素数:

int count = stack.Count;
Clear

Clear方法从堆栈中删除所有元素:

stack.Clear();
示例代码

以下是一个简单的堆栈示例程序:

using System;
using System.Collections.Generic;

class Program
{
    static void Main(string[] args)
    {
        Stack<string> stack = new Stack<string>();

        stack.Push("one");
        stack.Push("two");
        stack.Push("three");

        Console.WriteLine("Count: " + stack.Count);

        Console.WriteLine("Peek: " + stack.Peek());

        Console.WriteLine("Pop: " + stack.Pop());
        Console.WriteLine("Pop: " + stack.Pop());

        stack.Clear();

        Console.WriteLine("Count: " + stack.Count);
    }
}

输出:

Count: 3
Peek: three
Pop: three
Pop: two
Count: 0
结论

有关在C#中实现堆栈的详细信息,请参阅Microsoft文档