[*] up [*] contents
suivant: Création par parcours dans monter: Les arbres précédent: Les arbres   Table des matières

Dessin

Le dessin d'un arbre ne pose guère de problème. La racine doit être tracée en haut au milieu de l'écran et ses fils sont dessinés plus bas dans le reste de l'écran divisé selon le nombre de fils. Il suffit alors d'appliquer cette méthode récursivement.
PROGRAMME 2.1: Le type d'arbre
\begin{table}
\begin{verbatim}type ('a,'b) arbre =
\vert nil
\vert feuille of 'a
\vert noeud of 'b*(('a,'b) arbre list)
;;\end{verbatim}\end{table}

On utilise le type d'arbre décrit par le PROGRAMME 2.1. La fonction de dessin (cf. PROGRAMME 2.2) comporte deux fonctions récursives imbriqués. Les fonctions affichea et afficheb servent à dessiner les valeurs des feuilles, respectivement des noeuds, de l'arbre. Les paramètres x, y, w correspondent aux coordonnées du coinsupérieur gauche et à la largeur de l'écran virtuel oł l'on trace le noeud courant. L'appel récursif divise l'écran virtuel entre les fils du noeud courant.


PROGRAMME 2.2: Le dessin d'arbre
\begin{table}
\begin{verbatim}let pasy=30;;let rec dessineliste liste_ab x y ...
...sine arbre 0 (size_y()) (size_x()) affichea afficheb
;;\end{verbatim}\end{table}




1999-01-29