Tree-like queues
Posted
by Rehno Lindeque
on Stack Overflow
See other posts from Stack Overflow
or by Rehno Lindeque
Published on 2010-03-12T06:01:32Z
Indexed on
2010/03/12
6:07 UTC
Read the original article
Hit count: 214
I'm implementing a interpreter-like project for which I need a strange little scheduling queue. Since I'd like to try and avoid wheel-reinvention I was hoping someone could give me references to a similar structure or existing work. I know I can simply instantiate multiple queues as I go along, I'm just looking for some perspective by other people who might have better ideas than me ;)
I envision that it might work something like this: The structure is a tree with a single root. You get a kind of "insert_iterator" to the root and then push elements onto it (e.g. a and b in the example below). However, at any point you can also split the iterator into multiple iterators, effectively creating branches. The branches cannot merge into a single queue again, but you can start popping elements from the front of the queue (again, using a kind of "visitor_iterator") until empty branches can be discarded (at your discretion).
x -> y -> z
a -> b -> { g -> h -> i -> j }
f -> b
Any ideas? Seems like a relatively simple structure to implement myself using a pool of circular buffers but I'm following the "think first, code later" strategy :)
Thanks
© Stack Overflow or respective owner