Is there a C# data structure that does the followings :
- Find max,min in O(1).
- Delete and insert in O(logN);
- FindNext(int var) : the smallest element that is larger than var in O(logN);
- FindPrevious(int) : reverse of FindNext(int)
- Can be iterated through in O(NlogN) (not important)
Obviously we can do all of those with std::set. Is there anything in C# that can do the same?