next up previous
Next: Exercice 2 Up: No Title Previous: No Title

Exercice 1

function max(i,j: integer):integer;
 begin
  if i<j then max :=j else max:=i
 end;

function hauteur(a: Arbre): integer;
 begin
 if a= nil then
  hauteur:= 0
 else 
  hauteur:= a^.h
end;

procedure rotD(var a: Arbre);
 var b : Arbre;
 begin
  b:=a;
  a:=a^.filsG;
  b^.filsG:=a^.filsD;
  a^.filsD:=b;
  b^.h:=max(hauteur(b^.filsG),hauteur(b^.filsD))+1;
  a^.h:=max(hauteur(a^.filsG),hauteur(a^.filsD))+1;
 end;

procedure rotG(var a: Arbre);
 var b: Arbre;
 begin
  b:= a;
  a:= a^.filsD;
  b^.filsD:= a^.filsG;
  a^.filsG:= b;
  b^.h:=max(hauteur(b^.filsG),hauteur(b^.filsD))+1;
  a^.h:=max(hauteur(a^.filsG),hauteur(a^.filsD))+1;
 end;


Dominique Perrin
Mon Nov 25 14:55:52 MET 1996