Download presentation
Presentation is loading. Please wait.
Published byAlexis Roche Modified over 11 years ago
1
EXEMPLO DE REMOÇÃO ARVORE 5 24 3 68 7
2
if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=5 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=3 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=2 ROTINA PARA REMOVER O ELEMENTO 2 ELEMENTO 2 REMOVIDO
3
if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=5 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=3 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=4 ROTINA PARA REMOVER O ELEMENTO 4 ELEMENTO 4 REMOVIDO
4
if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=5 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=3 if (T = nil) then begin writeln ('ELEMENTO NAO ENCONTRADO NA ARVORE'); end else begin if (X.ch < T^.elem.ch) then begin remove (T^.esq, X); end else begin if (X.ch > T^.elem.ch) then begin remove (T^.dir, X); end else begin if (T^.dir = nil) then begin A := T; T := T^.esq; dispose(A); end else begin if (T^.esq=nil) then begin A := T; T := T^.dir; dispose(A); end else begin Maior (T^.esq,X); T^.elem := X ; remove (T^.esq,X ); end; T=2 procedure maior (Q:arvore; var R:Telemento); begin while Q^.dir <> nil do begin Q:= Q^.dir; end; R:= Q^.elem; end; T=2 ROTINA PARA REMOVER O ELEMENTO 3 ELEMENTO 3 REMOVIDO
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.