Search code examples
c#.netpriority-queue

C# priorityQueue Dequeue return type


C# .Net have priorityQueue library which I used like this

PriorityQueue<char, int> q = new PriorityQueue<char, int>();
q.Enqueue('c', 1);
q.Dequeue(); // only printc 'c'

I looked in the ms document to find out a way to be able to print 'c' priority (i.e: 1) but haven't found any. Am I missing something obvious?

Thanks


Solution

  • If you use TryDequeue it will remove the element, and copies it and its associated priority to the element and priority arguments.

    q.TryDequeue(out var element, out var priority)