-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathavl.h
65 lines (46 loc) · 1.75 KB
/
avl.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef _AVL_H
#define _AVL_H
#include <stdio.h>
#include <stdlib.h>
typedef struct node_char {
char chave;
int altura;
struct node_char* esq;
struct node_char* dir;
} No_char, Arvore_char;
typedef struct node_int {
int chave;
int altura;
struct node_int* esq;
struct node_int* dir;
} No_int, Arvore_int;
int maior (int esq, int dir);
int altura_char (Arvore_char *a);
int altura_int (Arvore_int *a);
int atualizar_altura_char (Arvore_char *a);
int atualizar_altura_int (Arvore_int *a);
int balanceamento_char (Arvore_char *a);
int balanceamento_int (Arvore_int *a);
Arvore_char* rotacao_simples_esq_char (Arvore_char* a);
Arvore_int* rotacao_simples_esq_int (Arvore_int* a);
Arvore_char* rotacao_simples_dir_char (Arvore_char* a);
Arvore_int* rotacao_simples_dir_int (Arvore_int* a);
Arvore_char* rotacao_dupla_esq_char (Arvore_char* a);
Arvore_int* rotacao_dupla_esq_int (Arvore_int* a);
Arvore_char* rotacao_dupla_dir_char (Arvore_char* a);
Arvore_int* rotacao_dupla_dir_int (Arvore_int* a);
Arvore_char* atualizar_fb_dir_char (Arvore_char *a);
Arvore_int* atualizar_fb_dir_int (Arvore_int *a);
Arvore_char* atualizar_fb_esq_char (Arvore_char *a);
Arvore_int* atualizar_fb_esq_int (Arvore_int *a);
Arvore_char* inserir_char (Arvore_char *a, char chave);
Arvore_int* inserir_int (Arvore_int *a, int chave);
Arvore_char* remover_char (Arvore_char *a, char chave);
Arvore_int* remover_int (Arvore_int *a, int chave);
void inverte_nos_int (Arvore_int *a, Arvore_int *tmp, int v);
void inverte_nos_char (Arvore_char *a, Arvore_char *tmp, int v);
void arvore_char_libera (Arvore_char* a);
void arvore_int_libera (Arvore_int* a);
void imprimir_in_order_char (Arvore_char* a, int nivel);
void imprimir_in_order_int (Arvore_int* a, int nivel);
#endif