Salut tout le monde !
Je viens d'implémenter des Arbres Binaires de Recherche (ABR) équilibrés (AVL) en C.
Je veux faire deux arbres, l'un contenant des éléments de type TYPE1 ordonnés par func1, et l'autre contenant des éléments de type TYPE2 ordonnés par func2. Et j'aimerais faire cela en réutilisant un code unique définissant les avl quel que soit le type des éléments.
Je ne sais pas trop comment m'y prendre pour pouvoir faire des arbres de différents types sans recopier tout le code...
Pour le moment dans mon fichier avl.h j'ai un truc du genre :
Code :
- typedef TYPE ElementType;
|
qui définit le type des noeuds de l'arbre. Et donc dans tout le code des avl je manipule des ElementType. Je peux très bien faire passer le pointeur de la fonction qui permet d'ordonner ces éléments. Ce que je ne sais pas faire, c'est définir plusieurs ElementType différents, en fonction des arbres que j'ai besoin de faire..
J'ai un peu de mal à exprimer mon problème, mais en gros il s'agit de faire du polymorphisme paramétré sur des arbres.
Pouvez-vous m'éclairer ?
Merci beaucoup !
Message édité par Docteur_Cube le 10-01-2009 à 12:08:32