用于比较的 PriorityQueue C# 版本

Dot*_* 19 4 c# priority-queue

我有以下 Java 代码,并希望在 C# 中实现相同的目标。请建议

    PriorityQueue<Integer> pQ= new PriorityQueue<Integer>((x,y)->Integer.compare(y, x));
Run Code Online (Sandbox Code Playgroud)

我确实将 Integer 转换为 int 但没有帮助。

.NET 版本 < 6

iro*_*man 9

如果您使用 .Net 6 及更高版本,您可以将 Comparer 与 PriorityQueue 结合使用,如下所示:

对于递增顺序:

PriorityQueue<int,int> pq = new PriorityQueue<int,int>(Comparer<int>.Create((a,b)=>a-b));
Run Code Online (Sandbox Code Playgroud)

或者对于降序:

PriorityQueue<int,int> pq = new PriorityQueue<int,int>(Comparer<int>.Create((a,b)=>b-a));
Run Code Online (Sandbox Code Playgroud)