c#中PriorityQueue用法
时间: 2023-11-15 13:55:44 浏览: 220
.NETPriorityQueue:使用C#中的二进制堆的自定义通用优先级队列实现。 (据我所知)它符合大多数.NET标准。不是线程安全的
在C#中,PriorityQueue是一个基于堆的数据结构,它可以按照优先级对元素进行排序。PriorityQueue类位于System.Collections.Generic命名空间中,可以使用以下代码进行实例化:
```
using System.Collections.Generic;
PriorityQueue<int> pq = new PriorityQueue<int>();
```
其中,int可以替换为任何你想要排序的类型。PriorityQueue类有以下常用方法:
- Enqueue(item):将元素插入队列中
- Dequeue():移除并返回队列中的第一个元素
- Peek():返回队列中的第一个元素,但不移除它
- Count:获取队列中元素的数量
以下是一个示例代码,演示如何使用PriorityQueue类:
```
using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
PriorityQueue<int> pq = new PriorityQueue<int>();
pq.Enqueue(3);
pq.Enqueue(1);
pq.Enqueue(4);
pq.Enqueue(1);
pq.Enqueue(5);
while (pq.Count > 0)
{
Console.WriteLine(pq.Dequeue());
}
}
}
```
输出结果为:
```
1
1
3
4
5
```
阅读全文