在C#中,栈(Stack)和队列(Queue)是两种非常基础且常用的数据结构,它们分别遵循后进先出(LIFO, Last In First Out)和先进先出(FIFO, First In First Out)的原则。下面我会简要介绍如何在C#中使用这两种数据结构。
### 栈(Stack)
C#中的`System.Collections.Generic`命名空间提供了`Stack
#### 示例代码
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.Peek()}");
// 出栈
while (stack.Count > 0)
{
Console.WriteLine($"出栈元素: {stack.Pop()}");
}
}
}
### 队列(Queue)
同样地,`System.Collections.Generic`命名空间也提供了`Queue
#### 示例代码
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Queue<int> queue = new Queue<int>();
// 入队
queue.Enqueue(1);
queue.Enqueue(2);
queue.Enqueue(3);
// 查看队首元素
Console.WriteLine($"队首元素: {queue.Peek()}");
// 出队
while (queue.Count > 0)
{
Console.WriteLine($"出队元素: {queue.Dequeue()}");
}
}
}
在这两个示例中,我展示了如何在C#中创建栈和队列的实例,以及如何进行入栈(入队)和出栈(出队)操作。同时,我也展示了如何查看栈顶或队首的元素,而不移除它们。这些基本操作是理解和使用栈和队列的关键。