-
Notifications
You must be signed in to change notification settings - Fork 0
/
estruturas.h
64 lines (57 loc) · 1.5 KB
/
estruturas.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
typedef struct sIndividuo{
char* nome;
char* sexo;
char* profissao;
char* morada;
char* datanasc;
char* lugarnasc;
char* datafalc;
char* lugarfalc;
int idfamfil; //filho dessa familia
int idfamconj; //conjuge dessa familia
}*Individuo,NodoInd;
typedef struct sAVL{
int idindividuo;
Individuo individuo;
struct sAVL * esq, *dir;
}*AVL, NodoAVL;
typedef struct sLFilhos{
int idfilho;
struct sLFilhos* seg;
}*LFilhos, NodoLF;
typedef struct sAgregado{
int idagregado;
int idmar;
int idmul;
char* datacasm; //data casamento
char* lugarcasm; // local casamento
LFilhos listaF;
}*Agregado, NodoAgr;
typedef struct sLAgregados{
Agregado agregado;
struct sLAgregados * seg;
}*LAgregados, NodoLAgr;
void insereAgregadoNaLista(Agregado agr);
void remchar(char *strin, char chr);
void criaHtmlAgregados();
char* concat(char *s1, char *s2);
void inserirFilho(LFilhos lf, int idf);
LFilhos inicializaLFilhos();
void escreveFilhos(FILE * file, LFilhos lf);
void criaHtmlAgregados(FILE* index);
Individuo encontraIndividuo(AVL raiz, int idf);
AVL adicionarAVL(AVL *raiz, int idind);
AVL balancearAVL(AVL *nodo);
int factorbalanceamento(AVL nodo);
int alturaAVL(AVL nodo);
AVL rotacaoLR(AVL pai);
AVL rotacaoRL(AVL pai);
AVL rotacaoRR(AVL pai);
AVL rotacaoLL(AVL pai);
void criaHtmlIndividuos(AVL nodo, FILE* index);
char* encontraNomeIndividuo(int id);
char* filtraApelido(char* nome);
void apagarListaFilhos(LFilhos lista);
void apagarAVL(AVL raiz);
void apagarListaAgregados(LAgregados lista);
void criaHtmlIndex();