Implementations of various data structures using C++