Add heap sort implementation using C++