I’m wondering how to get the next element in a C# sorted list. SO far I’ve come up with the following code:
SortedList<int, Bla> mList;
Bla someElement = mList[key];
Bla next = mList[mList.Keys[mList.IndexOfKey(key) + 1]];
I’m not sure if that’s the smartest way to do it 😉
Since you can access a
SortedListby index (see the Remarks section), I’d recommend using the following:This will work in the same
O(log n)as a single lookup.Here’s also the LINQ way to do it:
This will only enumerate once. It will execute in
O(n).