Binär heap

Du ska implementera en binär heap (http://en.wikipedia.org/wiki/Binary_heap) i C++.

Din heap ska använda följande mall:


// Sätt in ett element i heapen
void insert(int element) {
}

// Returnera det största elementet i heapen
int getMax(){
        return -1;
}

// Ta bort det största värdet i heapen
void removeMax(){
}

// Returnera antalet element i heapen
int getSize(){
        return -1;
}

Din heap bör ha komplexiteten $O(\log n)$ för operationerna $insert$ och $removeMax$ och $O(1)$ för operationerna $getSize$ och $getMax$.