我正在使用流行的C5库来进行C#(C5),而我正试图弄清楚如何正确实现IPriorityQueue
。假设我有A={5,4,1,2,3}
集。我希望优先级是最高的整数值。我该如何实现呢?
有人可以举例说明我在集A
中逐个添加元素到队列的位置吗?在哪里可以指定优先级属性?有点失去了实施。
顺便说一句,最终的目标是使用它来制作二进制堆。
答案 0 :(得分:0)
我不熟悉那个C5库,但这里有一个易于使用的高性能优先级队列实现:
ConcurrentPriorityQueue source(如果您需要线程安全)
使用其中之一,您可以这样构建它:
IPriorityQueue<object> queue = new PriorityQueue<object>(5, true);
其中5是您要管理的优先级数,true / false指定是否要将优先级视为优先级降序或升序,&lt; object&gt;将是你的通用类型。这两个都支持完整列表操作。还有project website。