-
Notifications
You must be signed in to change notification settings - Fork 0
/
TListaNave.h
54 lines (43 loc) · 1.96 KB
/
TListaNave.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
#ifndef LISTA_H_INCLUDED
#define LISTA_H_INCLUDED
/* Estrutura de uma nave */
typedef struct TNave
{
int tamVertices; /* Total espaço alocado para armazenar os vértices (componentes conexos) na nave */
int espacoUsadoVertices; /* Total vértices (componentes conexos) na nave */
int* vertices; /* Componentes conexas da nave */
char tipo; /* Tipo da nave */
int V; /* Quantidade de vértices */
int E; /* Quantidade de arestas */
int maxGrau; /* Maior grau */
int minGrau; /* Menor grau */
int qtdVmaxGrau; /* Quantidade de vértices de maior grau */
int qtdVminGrau; /* Quantidade de vértices de menor grau */
} TNave;
/* Estrutura de um elemento da lista */
typedef struct ElementoLista
{
TNave* nave; /* Referência da nave */
struct ElementoLista* prox; /* Referência do pŕoximo elemento da lista */
struct ElementoLista* ant; /* Referência do elemento anterior da lista */
} ElementoLista;
/* Estrutura de uma lista de nós */
typedef struct TLista
{
int tamanho; /* Tamanho da lista */
struct ElementoLista* ini; /* Referência de início da lista */
struct ElementoLista* fim; /* Referência de fim da lista */
} TLista;
/* Essa função verifica se uma lista está vazia */
int VerificaListaVazia(TLista* l);
/* Essa função cria uma lista vazia */
TLista* CriaListaVazia();
/* Essa função insere um elemento no fim da lista */
TLista* InsereFimLista(TLista* l);
/* Essa função retira o primeiro elemento da lista e insere no nó n */
TLista* RetiraInicioLista(TLista* l, TNave* nave);
/* Essa função apaga todos os elementos da lista */
TLista* ApagaLista(TLista* l);
/* Esse procedimento exibe os dados dos nós de uma lista */
void ImprimeLista(TLista l);
#endif // LISTA_H_INCLUDED