-
Notifications
You must be signed in to change notification settings - Fork 0
/
sbb.h
60 lines (47 loc) · 1.23 KB
/
sbb.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
#ifndef SBB_H_INCLUDED
#define SBB_H_INCLUDED
#include "main.h"
typedef struct HASH HASH;
typedef struct ArvoreSBB ArvoreSBB;
typedef struct GAME GAME;
/*
** Struct do tipo GAME: representa um conjunto de jogos, registro da SBB.
** key = chave do registro
** tam = tamanho do registro, número de jogos que ele possui
** info = jogos
*/
struct GAME {
int key;
int tam;
char info[MAX][MAX];
};
/*
** Struct do tipo ArvoreSBB: representa um nó da árvore SBB.
** reg = registro que o nó armazena
** esq = apontador para o nó a esquerda
** dir = apontador para o nó a direita
** esqtipo = inclinação do nó a esquerda
** dirtipo = inclinação do nó a direita
*/
typedef struct ArvoreSBB {
GAME reg;
ArvoreSBB *esq, *dir;
int esqtipo, dirtipo;
} ArvoreSBB;
/*
** Struct do tipo HASH: representa a tabela hash.
** tam = tamanho da tabela
** table = tabela de arvores SBB, onde os registros serão armazenados
*/
typedef struct HASH {
int tam;
ArvoreSBB *table;
} HASH;
GAME* createGame(char *info, int key);
HASH* criaHash(int t);
int funcaoHash(int key, HASH hash);
void destroiHash(HASH* hash);
void insereNaHash(HASH *h, GAME *x);
GAME* pesquisaNaHash(HASH* h, int key);
int dateToKey (char *date);
#endif // SBB_H_INCLUDED