Reputation: 3122
Basically:
An array with binary search satisfies my second requirement, but it's still prohibitively slow for insertion. What solution might work best?
Upvotes: 2
Views: 2042
Reputation: 14212
Red-black trees and skip lists meet your requirements, among others. For an example in C++, look at std::set, std::map, etc. and their lower_/upper_bound and equal_range methods.
Upvotes: 1
Reputation: 2420
Many flavors of search tree fit your requirements. I'd use a 2-3 tree, or maybe a treap if I was feeling lazy.
Upvotes: 0