-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBibliotecaDeFuncoes.cpp
82 lines (63 loc) · 1.71 KB
/
BibliotecaDeFuncoes.cpp
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "BibliotecaDeFuncoes.h"
BibliotecaDeFuncoes::BibliotecaDeFuncoes()
{
PalavraChave[0] = "inteiro";
PalavraChave[1] = "escrever";
PalavraChave[2] = "ler";
PalavraChave[3] = "se";
PalavraChave[4] = "enquanto";
}
BibliotecaDeFuncoes::~BibliotecaDeFuncoes()
{
}
Ponteiro BibliotecaDeFuncoes::encadearPalavra(Ponteiro Lista, string UmaPalavra, string UmTipo, int UmValor)
{
Ponteiro NovaPalavra = new NoTabela();
NovaPalavra->Palavra = UmaPalavra;
NovaPalavra->Tipo = UmTipo;
NovaPalavra->Valor = UmValor;
NovaPalavra->LinkDireito = Lista->LinkDireito;
NovaPalavra->LinkEsquerdo = Lista;
Lista->LinkDireito->LinkEsquerdo = NovaPalavra;
Lista->LinkDireito = NovaPalavra;
return Lista;
}
Ponteiro BibliotecaDeFuncoes::desencadearTodasPalavras(Ponteiro Lista)
{
Ponteiro Auxiliar = Lista->LinkDireito;
while (Auxiliar != Lista)
{
Auxiliar->LinkEsquerdo->LinkDireito = Auxiliar->LinkDireito;
Auxiliar->LinkDireito->LinkEsquerdo = Auxiliar->LinkEsquerdo;
delete(Auxiliar);
Auxiliar = Lista->LinkDireito;
}
Lista = Auxiliar;
return Lista;
}
Pilha BibliotecaDeFuncoes::empilharPalavras(Pilha UmTopo, string UmaPalavra)
{
Pilha Novo = new NoPilha();
Novo->Palavra = UmaPalavra;
Novo->Link = UmTopo;
UmTopo = Novo;
return UmTopo;
}
Pilha BibliotecaDeFuncoes::desempilharPalavras(Pilha UmTopo, string * UmaPalavra)
{
Pilha Auxiliar = UmTopo;
if (UmTopo != NULL)
{
*UmaPalavra = UmTopo->Palavra;
UmTopo = UmTopo->Link;
delete(Auxiliar);
}
return UmTopo;
}
Ponteiro BibliotecaDeFuncoes::desencadearNumeros(Ponteiro Lista, Ponteiro Excluir)
{
Excluir->LinkEsquerdo->LinkDireito = Excluir->LinkDireito;
Excluir->LinkDireito->LinkEsquerdo = Excluir->LinkEsquerdo;
delete(Excluir);
return Lista;
}