-
Notifications
You must be signed in to change notification settings - Fork 6
/
rbt.h
41 lines (24 loc) · 830 Bytes
/
rbt.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
typedef struct TNoRB {
int chave;
int cor;
struct TNoRB *pai;
struct TNoRB *esq;
struct TNoRB *dir;
} TNoRB;
void insereNo(TNoRB **arvore, TNoRB *pPai, TNoRB **pMain, int k);
TNoRB *avo(TNoRB *arvore);
TNoRB *tio(TNoRB *arvore);
void rotacaoDireita(TNoRB **no);
void rotacaoEsquerda(TNoRB **no);
void consertaRB(TNoRB **arvore, TNoRB **pMain);
void inOrder(TNoRB *raiz);
void dRotacaoDireita(TNoRB **no);
void dRotacaoEsquerda(TNoRB **no);
void removeNo(TNoRB **arvore, int k);
void nBlackIBlackFRed(TNoRB *aRemover, TNoRB **arvore);
void nBlackIBlackFBlack(TNoRB *aRemover, TNoRB **arvore);
void nBlackIRed(TNoRB *aRemover, TNoRB **arvore);
TNoRB *buscaNo(TNoRB *arvore, int k);
TNoRB *irmao(TNoRB *pai, TNoRB *noAtual);
int filhoEsquerdo(TNoRB *arvore);
TNoRB **maiorEsq(TNoRB **pMaiorEsq);