I think you should be more worried about how clearly the datastructure fits the task than how performant it is until you've profiled and determined that it's a bottleneck. A priority_queue is ideal because it does the work of finding the next event to fire for you.
Also, you should not have any deletes. That's what weak referencing is for.
|