Cliquer ici pour télécharger zip


Constructeurs
heap (int=0); Constructeur par défaut
heap (const heap<T> &); Constructeur de recopie
heap (const T[], int, int); Constructeur à partir d'un tableau



Surcharge d'opérateurs
heap<T> & operator= (const heap<T> &); Assigne les valeurs d'un heap à un autre



Liste des fonctions et description
void print_heap (node<T> *, std::string, bool); Affichage à la console
void delete_heap (node<T> *); Supprime l'arbre
int & heap_height (int &, bool); Retourne la hauteur de l'arbre
void inject_root (node<T> *); Insère un élément à la racine
node<T> * find_insert_pos (node<T> *, int &); Retourne l'élément parent pour l'insertion si différent de la racine
node<T> * find_insert_inter (const node<T> *, int &); Utilitaire pour find_insert_pos
int & find_insert_poshelper (const node<T> *, int &); Utilitaire pour find_insert_pos
node<T> * return_insert_node (node<T> *); Retourne l'élément parent pour l'insertion
void swap_nodes (node<T> *, node<T> *, const int); Échange des noeuds
void heapify (node<T> *, int); Réorganise la position des noeuds
node<T> * find_extract_pos (); Retourne le noeud à extraire
void swap_extract (node<T> *); Remanie le vide créé par l'extraction
void reorder_nodes (node<T> *); Réorganise les noeuds
int & preferred_side (int &); Retourne le côté de l'arbre le moins haut
int & sizehelper (node<T> *, int); Utilitaire qui retourne la hauteur récursivement
void heap_as_arrayhelper (node<T> *, T *, int &, int &); Utilitaire pour sizehelper
node<T> * get_root () const {return root;} Retourne le noeud racine
int & size(); Retourne hauteur du heap via sizehelper
void display (); Affichage à la console
void insert (const T &); Insère un élément
T & extract (T &); Extraction d'un élément
T & insert_extract (const T &, T &); Insère un noeud et retourne l'élément
node<T> * search (const T &, node<T> *); Retourne un noeud de valeur donnée
void release_node_value (const T &); Supprime un noeud
void release_node_address (node<T> *); Utilitaire pour release_node_value
void increase_key (const T &, const T &); Modifie une valeur et réorganise l'arbre
void decrease_key (const T &, const T &); Modifie une valeur et réorganise l'arbre
T * heap_as_array (); Retourne le heap sous forme de tableau
void write_heap_to_file (); Écrit le heap dans un fichier
void read_heap_from_file (); Charge le heap à partir d'un fichier