Fusionnez votre code obtenu au Lab6 avec le départ du Lab7.
Cette tâche consiste principalement à ajouter dans ArbreAVL
la classe Iterateur
et ses fonctions liées.
wget http://cria2.uqam.ca/INF3105/lab7/lab7.zip unzip lab7.zip
Complétez :
class Iterateur
debut
[]
++
de Iterateurg++ -o testavl testavl.cpp ./testavl
Complétez :
rechercher
rechercherEgalOuPrecedent
et rechercherEgalOuSuivant
for(auto& element : conteneur) { ... }est sémantiquement équivalente à la boucle suivante:
for(auto it = conteneur.begin(); it != conteneur.end(); ++it) { auto& element = *it; ... }Ainsi, pour supporter cette syntaxe, il suffit que la classe sur laquelle on souhaite pouvoir itérer avec cette syntaxe contienne les quatres méthodes suivantes:
Iterateur& Iterateur::operator++(); const T& Iterateur::operator*() const; Iterateur begin() const; Iterateur end() const;Puisque vous avez déjà implémenté les deux premières méthodes, il ne vous reste qu'à ajouter les deux dernières (ou renommer vos méthodes
debut()
et fin()
en begin()
et
end()
).