/ / Ako používať protokol IPriorityQueue v knižnici C5 - c #, haldy, front-priority, binárne-haldy, c5

Ako používať protokol IPriorityQueue v knižnici C5 - c #, haldy, fronty priorít, binárne-haldy, c5

Používam populárnu knižnicu C5 pre C # (C5) a snažím sa zistiť, ako implementovať IPriorityQueue správne. Povedz, že mám súbor A={5,4,1,2,3}, Chcem, aby priorita bola najvyššia celočíselná hodnota. Ako to môžem implementovať?

Mohol by niekto uviesť príklad toho, kam pridám prvky do množiny A jeden po druhom do frontu? Kde môžete určiť prioritnú vlastnosť? Pri implementácii zaniklo.

Konečným cieľom je použiť túto metódu na vytvorenie binárnej hromady.

odpovede:

0 pre odpoveď č. 1

Nepoznám túto knižnicu C5, ale tu je ľahko použiteľná, vysoko výkonná implementácia priorít fronty tu:

Zdroj typu PriorityQueue

Súbor ConcurrentPriorityQueue (ak potrebujete bezpečnosť nite)

Pomocou jedného z nich by ste to vytvorili takto:

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

kde 5 je počet priorít, ktoré chcetespravovať, true / false špecifikuje, či chcete, aby priority boli považované za klesajúce alebo vzostupné v priorite a <object> by bol váš druhový typ. Obidva tieto operácie podporujú celý zoznam. Je tu tiež a webové stránky projektu.