begin process at 2010 02 10 08:43:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Delphi

 > 

Archives

 > 

J'AI BESOIN D'AIDE !!!! :O

 > 

Arbre équilibré


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Arbre équilibré

samedi 17 mai 2003 à 23:58:57 | Arbre équilibré

Pallas4

Bonjour j'aimerais programmé un arbre équilibré maismon programme plante. IP cute me dit que des données sont dans le tas mais ne peuvent être atteintes.
Je sais que le listing ci dessous est incomplet, il en manque la moitiée mais dans l'exemple que je prnd, ç ne pose pas de pb.

Program Arbreseq;


type parbre=^arbre;
arbre=record nom:string; {$V 0:40}
bal:integer; {$V 40:60}
g,d:parbre;
end;
var a,b:parbre;
cons,voy:string;
bo:boolean;

function creer(s:string):parbre;

begin
new(result);
result^.nom:=s;
result^.d:=nil;
result^.g:=nil;
result^.bal:=0;
end;

function insere(cle:string;var p:parbre):boolean;
var a:parbre;
begin
new(a);
if p=nil then begin
p:=creer(cle);
result:=true
end
else if p^.nom<cle then begin
if insere(cle,p^.d) then begin
p^.bal:=p^.bal-1;
If p^.bal=0 then result:=false
else if p^.bal=-1 then begin
a:=p;
p:=p^.g;
a^.g:=p^.d;
p^.d:=a;
dispose(a);
result:=false
end
else if p^.bal=-2 then begin
if p^.g^.bal=-1 then begin
a:=p;
p:=p^.g^.d;
a^.g:=p^.d;
p^.g:=a;
p^.d:=a^.d;
dispose(a);
result:=false
end
end
else result:=false
end
else begin
if insere(cle,p^.g) then begin
p^.bal:=p^.bal-1;
If p^.bal=0 then result:=false
else if p^.bal=-1 then begin
a:=p;
p:=p^.g;
a^.g:=p^.d;
p^.d:=a;
dispose(a);
result:=false
end
else if p^.bal=-2 then begin
if p^.g^.bal=-1 then begin
a:=p;
p:=p^.g^.d;
a^.g:=p^.d;
p^.g:=a;
p^.d:=a^.d;
dispose(a);
result:=false
end
end
end
else result:=false
end
end;

end;


BEGIN


// Là je créé un arbre d'exemple
a:=creer('h');
a^.g:=creer('e');
a^.d:=creer('k');
a^.d^.d:= creer('o');
a^.d^.g:= creer('n');
a^.g^.d:=creer('g');
a^.g^.g:=creer('c');
a^.g^.d^.g:=creer('f');
a^.bal:=-1;
a^.g^.bal:=-1;
a^.g^.d^.bal:=-1;

bo:=insere('p',a);
dispose(a);
dispose(b);
END.

Merci






Cette discussion est classée dans : creer, end, begin, result, bal


Répondre à ce message

Sujets en rapport avec ce message

Le plus petit entier non nul [ par seast ] Bonjour,voici la fonction qui me permet de trouver le plus petit entier non nul parmi 3 possibilités.Y a-t-il plus simple ? ou plus rapide ?Si je desi openoffice.org(ooo) et la couleur de fond d'une cellule [ par Tiekula ] J'arrive a ouvrir un fichier exel avec ooo mais pas a trouver la couleur d'une cellule donnée de ce fichier! mon code : unit Unit1; interface use Composant [ par cricri_forever ] Quelqu'un pourrait m'aider a expliquer ce code et si il a moyen de le simplifier encore...procedure TVersion.ChangeVersionResult(Value: boolean);begin Fenetre MDI [ par develomagaly ] VOila j'ai une fenetre parents avec des fenetres Mdichild qui s'ouvre en cliquant sur le menu. Le but est de ne pas pouvoir ouvrir deux fenetres fille pb sur delphi a la compilation need help !!! [ par shark1664 ] voila mon code c'est une requete qui récupère dans une table une ligne compète quand le code est pareil que ce que l'utilisateur a siasie et au niveau Exclure des caractères d'un string [ par DRJEROME ] bonjour,je n'ai pas accès au "Snippets" de mon ordinateur principal alors que j'ai accès par un ordinateur d'un collègue ... bizarre !je voulais juste Txt2BMP ? [ par MiniProgramer ] Hij ai une Function de google mais il ya des problemes !?//-- TBitmap to String -----------------------function BmpToTxt(const ABitmap: TBitmap): stri pilotage ouverture/fermeture d'une barrière de sécurité pour boitier TC/USB16IO [ par Wiska ] Bonjour, Avant tout, voici la description de ce fameux boitier: "Le module TC/USB-16IO est un module d'interface pc, comportant 8 entrées logiques iso Evènements d'un enfant dans l'inspecteur d'objet [ par Francky23012301 ] Salut à tous,J'ai un ptit soucis : j'ai fais un composant qui créer d'autres composants ent tant qu' enfants. Dans l'inspecteur d'objet, les propriét Problème de chargement d'un JPEG à partir d'un Stream [ par LeGuepard ] Salut à tous! <p class="MsoNormal" sty


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,546 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales