Want to instantiate PriorityQ with an iterable filled with val, priority iterables.
e.g.
PriorityQ[(1,3), (2, 4), ((4,3,4), 0), [[1,2,3,4], 5])
where each internal container is val, priority
We will also support using QNode as a flat level instantiator
e.g.
PriorityQ[QNode(1,2), (3,4) (4,3), QNode(2,1)]
Internally, implementation will follow this provisional order (any changes to this will be advertised here):
- examine the incoming items in iterable
- if QNode, assign order and push to heap
- if not, introspect item
- if conforms to our proposed API: (val, priority):
- init QNode with that priority, assign order, and push to heap
- If no priority is supplied:
- init QNode without priority, assign order, and push to heap
Want to instantiate PriorityQ with an iterable filled with val, priority iterables.
e.g.
where each internal container is val, priority
We will also support using QNode as a flat level instantiator
e.g.
Internally, implementation will follow this provisional order (any changes to this will be advertised here):