UpsKrn.ArbreBinaire

Définition

/****************************************************************/
Type ArbreBinaire(TypeElement : Nul Ou Type) Implemente Public : ICollection(Nul Ou TypeElement) Defaut Final TailleSegment 16 ConserverObjets
/* Objet : Definition du type ArbreBinaire. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes de ICollection. */
/*-------------------------------------------------------------*/
Prive :
/*-------------------------------------------------------------*/
/* Proprietes propres. */
/*-------------------------------------------------------------*/
Prive :
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public : Prive : /*-------------------------------------------------------------*/
/* Heritage des methodes d'IIterateur. */
/*-------------------------------------------------------------*/
Public :
/*-------------------------------------------------------------*/
/* Heritage des methodes de ICollection. */
/*-------------------------------------------------------------*/
Public :
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Prive : Fin Type

Le type ArbreBinaire possède un constructeur explicite permettant de construire un arbre binaire vide. L'arbre binaire comporte le critère Critere permettant de classer les objets qui y sont mémorisés. Si le critère est Nul, alors le critère retenu est la comparaison des adresses des objets par la méthode Identique du type Objet. L'arbre binaire est automatiquement équilibré en cas d'ajouts, de modifications ou de suppressions si le paramètre E a pour valeur Vrai.

Le type ArbreBinaire est paramétré par le type TypeElement correspondant au type d'élément de l'arbre binaire.

Les noeuds de l'arbre correspondent à un groupe d'objets ayant même valeur de critère. L'arbre peut posséder un ou plusieurs objets associés à chaque noeud. Si l'arbre est Unique, un seul objet peut être associé à chaque noeud.

Chaque objet du type ArbreBinaire possède des moteurs d'itérations permettant de parcourir ses éléments. Les itérateurs sont numérotés de 0 à n, 0 étant l'itérateur implicite qui n'a pas besoin d'être alloué par l'appel à AllouerIterateur. Chaque itérateur alloué, une fois utilisé, doit être libéré par l'appel LibererIterateur.

Opérateurs

Le type ArbreBinaire possède les opérateurs standards suivant :

Exemple

Pour un exemple complet, merci de se référer à Arbre binaire.

/****************************************************************/
Fonction ComparerCaractere(C1 : Nul Ou Caractere, C2: Nul Ou Caractere) Retourner ComparaisonObjet
/* Objet : Compare les caracteres. */
/****************************************************************/
Debut
Si C1==Nul Ou C2==Nul Alors

Fin Si
Si C1<C2 Alors Fin Si
Si C1>C2 Alors Fin Si
Retourner ComparaisonEgal;
Fin Fonction

Principal
/*******/
Variable
/******/

Debut
/* Construction d'un arbre a trois éléments. */
A=ArbreBinaire(ComparerCaractere, Faux);
C="A";
A+=C;
A+="B";
A+=C;
/* Parcours de cet arbre. */
Pour C=A.ParcoursAuDebut() JusquA A.DernierElement() Faire Fin Pour
Fin Principal

Voir aussi

Appel, Binaire, Caractere, Date, Entier, Entrepot, Enumere, Exception, Fichier, FileDAttente, Hachage, Liste, Module, Objet, Reel, Reference, Serveur, Tableau, Travail, Type et Segment pour connaître les autres types de base.

Traduction

---------