Not sure if this belonged on the Articles board or not.
I just read today's article off the main CProg site, here. Seems a little odd to me how it's implemented; IMO, conceptually a linked list lends itself to the purpose much more nicely - when you dequeue an element, the head automatically is changed, and when you queue an element the tail is automatically changed, and no shuffling forward is ever done - all without having to resort to sneaky circles. You might lose a little time allocating/constructing/destroying each node, but you wouldn't have to worry about size limitations and reallocating your dynamic array every time you run out of space (which would lose you even more time).
Thoughts anyone?