Given a sorted vector with a number of values, as in the following example:
std::vector<double> f; f.pushback(10); f.pushback(100); f.pushback(1000); f.pushback(10000);
I’m looking for the most elegant way to retrieve for any double d the two values that are immediately adjacent to it. For example, given the value ’45’, I’d like this to return ’10’ and ‘100’.
I was looking at lower_bound and upper_bound, but they don’t do what I want. Can you help?
EDIT: I’ve decided to post my own anser, as it is somewhat a composite of all the helpful answers that I got in this thread. I’ve voted up those answers which I thought were most helpful.
Thanks everyone,
Dave
I’m going to post my own anser, and vote anyone up that helped me to reach it, since this is what I’ll use in the end, and you’ve all helped me reach this conclusion. Comments are welcome.