Данный алгоритм сортировки является способом сортировки массива элементов. Реализуется в виде простой программы, использующей деревья поиска. Идея заключается в занесении всех элементов в дерево поиска и затем в интерактивном удалении наименьшего элемента до тех пор, пока не будут удалены все элементы.
Программа heapSort(пирамидальная сортировка) сортирует массив s из n элементов, используя функцию сравнения cmp:

template<class T> void heapSort (T s[], int n, int(*cmp) (T,T) )
{
  SearchTree<T> t(cmp);
  for (int i = 0; i < n; i++)
    t.insert(s[i]);
  for (i = 0; i < n; i++)
    s[i) = t.removeMin();
}