C#中的队列Queue与堆栈Stack

yizhihongxing

下面是关于C#中的队列Queue与堆栈Stack的完整攻略。

栈和队列是什么?

  • 栈(Stack)是一种有序的数据集合,新添加的或待删除的元素都保存移位顶部,称作栈顶,而现有的元素都在栈底。这种操作叫做LIFO(Last in First Out,后进先出)。栈的应用极为广泛,如比较好的表达中缀表达式、进行函数调用和返回数据等操作。

  • 队列(Queue)是一种有序的数据集合,类似于排队,每个元素都被添加在队尾,而从队列中移除元素的操作则是从队首进行的,即FIFO(First In First Out,先进先出)。

使用堆栈Stack

C#的Stack类表示后进先出的栈集合。可以使用以下代码创建一个空栈:

Stack<string> myStack = new Stack<string>();

堆栈的常见操作如下:

  • Push(T item):将item添加进堆栈。
  • Pop():移除并返回堆栈的顶部元素。
  • Peek():返回堆栈的顶部元素,而不移除它。
  • Count:获取堆栈中的元素数量。

以下代码展示了一些堆栈的常见操作,并输出了堆栈中的元素:

Stack<string> myStack = new Stack<string>();
myStack.Push("Stack");
myStack.Push("is");
myStack.Push("a");
myStack.Push("great");
myStack.Push("data");
myStack.Push("structure");

// 输出堆栈中的元素
foreach (string item in myStack)
{
    Console.WriteLine(item);
}

// 移除并输出堆栈的顶部元素
Console.WriteLine(myStack.Pop());

// 输出堆栈中的元素
foreach (string item in myStack)
{
    Console.WriteLine(item);
}

// 返回堆栈的顶部元素,而不移除它
Console.WriteLine(myStack.Peek());

// 输出堆栈中的元素
foreach (string item in myStack)
{
    Console.WriteLine(item);
}

// 获取堆栈中的元素数量
Console.WriteLine("元素数量:" + myStack.Count);

这段代码的输出结果如下:

structure
data
great
a
is
Stack
structure
data
great
a
is
Stack
Stack
structure
data
great
a
is

使用队列Queue

C#的Queue类代表一个先进先出的队列。可以使用以下代码创建一个空队列:

Queue<string> myQueue = new Queue<string>();

队列的常见操作如下:

  • Enqueue(T item):在队列末尾添加一个元素。
  • Dequeue():移除并返回队列的第一个元素。
  • Peek():返回队列的第一个元素,而不移除它。
  • Count:获取队列中的元素数量。

以下代码展示了一些队列的常见操作,并输出了队列中的元素:

Queue<string> myQueue = new Queue<string>();
myQueue.Enqueue("Queue");
myQueue.Enqueue("is");
myQueue.Enqueue("a");
myQueue.Enqueue("great");
myQueue.Enqueue("data");
myQueue.Enqueue("structure");

// 输出队列中的元素
foreach (string item in myQueue)
{
    Console.WriteLine(item);
}

// 移除并输出队列的第一个元素
Console.WriteLine(myQueue.Dequeue());

// 输出队列中的元素
foreach (string item in myQueue)
{
    Console.WriteLine(item);
}

// 返回队列的第一个元素,而不移除它
Console.WriteLine(myQueue.Peek());

// 输出队列中的元素
foreach (string item in myQueue)
{
    Console.WriteLine(item);
}

// 获取队列中的元素数量
Console.WriteLine("元素数量:" + myQueue.Count);

这段代码的输出结果如下:

Queue
is
a
great
data
structure
is
a
great
data
structure
is
a
great
data
structure
元素数量:5

这就是关于C#中的队列Queue与堆栈Stack的完整攻略,提供了堆栈与队列的定义、常见操作和应用两条实例。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中的队列Queue与堆栈Stack - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 客户端实现蓝牙接收(C#)知识总结

    下面是关于“客户端实现蓝牙接收(C#)知识总结”的完整攻略。 知识总结 蓝牙简介 蓝牙技术是一种近程无线通信技术,用于在2.4GHz ISM频带上进行短距离数据通信。蓝牙技术具有低功耗、低成本及易于应用等特点,被广泛应用于消费电子、智能家居、医疗设备、安防等领域。 蓝牙规范 蓝牙协议规范由蓝牙核心规范、蓝牙连接规范、蓝牙应用规范和蓝牙设置规范四个部分组成。蓝…

    C# 2023年5月31日
    00
  • Entity Framework导航属性介绍

    Entity Framework导航属性介绍 什么是导航属性 在EF中,导航属性是描述两个实体之间关系的属性。例如,一个订单实体和一个客户实体之间的关系就可以通过导航属性进行描述。 如何使用导航属性 导航属性有两种方式进行访问:延迟加载和显示加载,下面我将对这两种方式进行详细的说明。 延迟加载 代码示例: using(var context = new My…

    C# 2023年6月3日
    00
  • c#的sortedlist使用方法

    C# SortedList使用方法 简介 C#中的SortedList是一种有序的泛型集合,它根据键的范围对键值对进行排序,且支持快速查找。深入了解SortedList的使用方法,可以帮助我们更好地处理数据集合。 创建SortedList实例 在使用SortedList前,我们需要创建一个SortedList的实例。创建实例的方式如下: SortedList…

    C# 2023年5月31日
    00
  • ASP.Net中的async+await异步编程的实现

    下面我将为你详细讲解ASP.Net中的async+await异步编程的实现。 什么是异步编程 在了解异步编程实现之前,先来了解一下什么是异步编程。异步编程指的是不需要等待一个耗时操作完成就可以继续执行其他任务,使得程序不会被这个耗时操作所阻塞。异步编程在编写高性能、高并发的程序方面有很大的作用。 ASP.Net中的异步编程实现 在ASP.Net中,异步编程的…

    C# 2023年5月31日
    00
  • Windows 8 应用框架理解及开发工具使用实例教程

    Windows 8 应用框架理解及开发工具使用实例教程 理解Windows 8应用框架 Windows 8应用框架是一套用于开发Windows Store应用程序的技术框架,为开发人员提供了一些现代化的开发工具和API。当我们使用Windows 8开发应用时,我们需要使用一些特定于Windows 8的技术,例如Windows Runtime API、C#、J…

    C# 2023年6月7日
    00
  • 详解Java中的checked异常和unchecked异常区别

    详解Java中的checked异常和unchecked异常区别 Java中的异常类型可以分为两种:checked异常和unchecked异常。两种异常的区别主要在于程序编译时期是否必须进行异常处理。 checked异常: checked异常即编译器在编译Java程序时检查出的异常,通常与I/O操作和网络连接相关。程序在编译时必须要强制进行处理,这意味着这些异…

    C# 2023年5月15日
    00
  • C# GetHashCode():获取此实例的哈希代码

    C#中的GetHashCode()方法用于获取对象的哈希码(HashCode)。哈希码是一种用于快速识别对象的整数。哈希码的计算方法是将对象中各种不同类型的值转换成32位整数。通常,我们使用哈希表来操作对象。哈希表将哈希码作为索引,通过哈希码查找对象,这样可以非常快速地定位到对象。 以下是使用GetHashCode()方法的一些示例: 示例1: class …

    C# 2023年4月19日
    00
  • nodejs中sleep功能实现暂停几秒的方法

    要在Node.js中实现sleep功能即暂停几秒的效果,常用的方法是使用setInterval函数进行定时执行。以下是步骤: 步骤1:编写sleep函数 编写一个sleep函数,该函数接收一个参数(单位为milliseconds),等待给定时间后返回。 function sleep(ms) { return new Promise((resolve) =&g…

    C# 2023年6月6日
    00
合作推广
合作推广
分享本页
返回顶部