1

我正在为 C# ( C5 ) 使用流行的 C5 库,并且我正在尝试弄清楚如何IPriorityQueue正确实现。可以说我有一套A={5,4,1,2,3}。我希望优先级是最高的整数值。我该如何实施?

有人可以举一个例子,说明我将集合中的元素A一个一个添加到队列中吗?在哪里可以指定优先级属性?有点迷失了实施。

顺便说一句,最终目标是使用它来制作二进制堆。

4

1 回答 1

0

我不熟悉那个 C5 库,但这里有一个易于使用、高性能的优先级队列实现:

优先队列源

ConcurrentPriorityQueue 源(如果您需要线程安全)

使用其中之一,您可以这样构建它:

IPriorityQueue<object> queue = new PriorityQueue<object>(5, true);

其中 5 是您要管理的优先级数,true/false 指定您是否希望优先级被视为优先级降序或升序,而 <object> 将是您的通用类型。这两个都支持完整的列表操作。还有一个项目网站

于 2017-07-31T08:11:24.323 回答