SlideShare uma empresa Scribd logo
1 de 3
Baixar para ler offline
1 #include <iostream>
2
3 using namespace std;
4 const int tamanho = 8;
5
6 //DEFININDO A ESTRUTURA DE HASH
7 struct hash
8 {
9 int chave;
10 hash* proximo;
11 };
12
13 //FUNÇÃO PARA INSERIR NA TABELA
14 void inserir(hash* tabela[], int posicao, int numero)
15 {
16 cout << " n == INSERINDO == n ";
17 hash* novo;
18 novo = new hash();
19 novo->chave = numero;
20 novo->proximo = tabela[posicao];
21 tabela[posicao] = novo;
22 cout << " n Elemento " << novo->chave << " inserido com sucesso! n ";
23 }
24
25 //FUNÇÃO QUE CALCULA A CHAVE - FUNÇÃO HASHING
26 int hashing(int numero)
27 {
28 cout << " n == FUNCAO HASHING == n";
29 return numero % tamanho;
30 }
31
32 //FUNÇÃO PARA IMPRIMIR A TABELA
33 void imprimir(hash* tabela[])
34 {
35 cout << " n == IMPRIMINDO == n";
36 hash* aux;
37 for(int i =0; i<tamanho; i++)
38 {
39 aux = tabela[i];
40 while(aux != NULL)
41 {
42 cout << " n Entrada: " << i << " Chave: " << aux->chave;
43 aux = aux->proximo;
44 }
45 }
46 cout << "n";
47 }
48
49 //FUNÇÃO PARA EXCLUIR UM ELEMENTO DA TABELA
50 void excluir(hash* tabela[], int numero)
51 {
52 cout << " n == EXCLUINDO == n";
53 int posicao = hashing(numero);
54 hash* aux;
55 if(tabela[posicao] != NULL)
56 {
57 if(tabela[posicao]->chave == numero)
58 {
59 aux = tabela[posicao];
60 tabela[posicao] = tabela[posicao]->proximo;
61 cout << " n Numero " << aux->chave << " excluido com sucesso! n";
62 delete aux;
63 }
64 else
65 {
66 aux = tabela[posicao]->proximo;
67 hash* ant = tabela[posicao];
68
69 while(( aux != NULL ) && ( aux->chave != numero ))
70 {
71 ant = aux;
72 aux = aux->proximo;
73 }
74
75 if( aux != NULL )
76 {
77 ant->proximo = aux->proximo;
78 cout << " n Numero " << aux->chave << " excluido com sucesso! n";
79 delete aux;
80
81 }
82 else
83 {
84 cout << " n Numero nao encontrado! n";
85 }
86
87 }
88 }
89 else
90 {
91 cout << " n Numero nao encontrado! n";
92 }
93 }
94
95 //FUNÇÃO PARA INICIALIZAR A TABELA
96 void inicializar(hash* tabela[])
97 {
98 cout << " n == INICIALIZANDO == n";
99 for(int i =0; i<tamanho; i++)
100 {
101 tabela[i] = NULL;
102 }
103 }
104
105 void destruir(hash* tabela[])
106 {
107 cout << " n == DESTRUINDO == n";
108 hash* aux;
109 for(int i =0; i<tamanho; i++)
110 {
111 while(tabela[i]!=NULL)
112 {
113 aux = tabela[i];
114 tabela[i] = tabela[i]->proximo;
115 delete aux;
116 }
117 }
118 }
119
120 int main()
121 {
122 hash* tabela[tamanho];
123 hash* aux;
124 int opcao, posicao, numero;
125
126 //MENU
127 do
128 {
129 cout << " n | MENU |";
130 cout << " n | 1. Inicializar |";
131 cout << " n | 2. Inserir |";
132 cout << " n | 3. Excluir |";
133 cout << " n | 4. Imprimir |";
134 cout << " n | 5. Destruir |";
135 cout << " n | 6. Sair |";
136 cout << "n";
137 cout << " n Digite a opcao desejada: ";
138 cin >> opcao;
139
140 switch(opcao)
141 {
142 case 1:
143 inicializar(tabela);
144 break;
145 case 2:
146 cout << " n Digite um numero: ";
147 cin >> numero;
148 posicao = hashing(numero);
149 inserir(tabela, posicao, numero);
150 break;
151 case 3:
152 cout << " n Digite um numero: ";
153 cin >> numero;
154 excluir(tabela, numero);
155 break;
156 case 4:
157 imprimir(tabela);
158
159 break;
160 case 5:
161 destruir(tabela);
162 break;
163 default:
164 cout << " n OPCAO INVALIDA ";
165 }
166
167 }
168 while(opcao!=6);
169 return 0;
170 }
171
172

Mais conteúdo relacionado

Mais procurados

Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Leinylson Fontinele
 
Functional Programming Patterns (NDC London 2014)
Functional Programming Patterns (NDC London 2014)Functional Programming Patterns (NDC London 2014)
Functional Programming Patterns (NDC London 2014)Scott Wlaschin
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesElaine Cecília Gatto
 
Min priority queue
Min priority queueMin priority queue
Min priority queue9854098540
 
Data Structures Notes 2021
Data Structures Notes 2021Data Structures Notes 2021
Data Structures Notes 2021Sreedhar Chowdam
 
[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade
[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade
[Curso Java Basico - Orientacao a Objetos] Aula 35: RecursividadeLoiane Groner
 
Doubly & Circular Linked Lists
Doubly & Circular Linked ListsDoubly & Circular Linked Lists
Doubly & Circular Linked ListsAfaq Mansoor Khan
 
Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Scott Wlaschin
 
Monad Laws Must be Checked
Monad Laws Must be CheckedMonad Laws Must be Checked
Monad Laws Must be CheckedPhilip Schwarz
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADLeinylson Fontinele
 
Queue data structure
Queue data structureQueue data structure
Queue data structureanooppjoseph
 
DBMS 8 | Memory Hierarchy and Indexing
DBMS 8 | Memory Hierarchy and IndexingDBMS 8 | Memory Hierarchy and Indexing
DBMS 8 | Memory Hierarchy and IndexingMohammad Imam Hossain
 

Mais procurados (20)

Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
Estrutura de Dados - Aula 12 - Pesquisa de Dados (Sequencial e Binária)
 
Functional Programming Patterns (NDC London 2014)
Functional Programming Patterns (NDC London 2014)Functional Programming Patterns (NDC London 2014)
Functional Programming Patterns (NDC London 2014)
 
Insertion Sort
Insertion SortInsertion Sort
Insertion Sort
 
Ch17 Hashing
Ch17 HashingCh17 Hashing
Ch17 Hashing
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Min priority queue
Min priority queueMin priority queue
Min priority queue
 
Heap - Python
Heap - PythonHeap - Python
Heap - Python
 
Data Structures Notes 2021
Data Structures Notes 2021Data Structures Notes 2021
Data Structures Notes 2021
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 
[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade
[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade
[Curso Java Basico - Orientacao a Objetos] Aula 35: Recursividade
 
Doubly & Circular Linked Lists
Doubly & Circular Linked ListsDoubly & Circular Linked Lists
Doubly & Circular Linked Lists
 
PythonOOP
PythonOOPPythonOOP
PythonOOP
 
Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013Domain Driven Design with the F# type System -- NDC London 2013
Domain Driven Design with the F# type System -- NDC London 2013
 
Array in C
Array in CArray in C
Array in C
 
Monad Laws Must be Checked
Monad Laws Must be CheckedMonad Laws Must be Checked
Monad Laws Must be Checked
 
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TADEstrutura de Dados - Aula 02 - Estrutura de Dados e TAD
Estrutura de Dados - Aula 02 - Estrutura de Dados e TAD
 
Python-List.pptx
Python-List.pptxPython-List.pptx
Python-List.pptx
 
Queue data structure
Queue data structureQueue data structure
Queue data structure
 
DBMS 8 | Memory Hierarchy and Indexing
DBMS 8 | Memory Hierarchy and IndexingDBMS 8 | Memory Hierarchy and Indexing
DBMS 8 | Memory Hierarchy and Indexing
 
Linklist
LinklistLinklist
Linklist
 

Semelhante a Tabela Hash com Lista Encadeada

Hashing enderecamento aberto - operações
Hashing enderecamento aberto - operaçõesHashing enderecamento aberto - operações
Hashing enderecamento aberto - operaçõesElaine Cecília Gatto
 
Lista duplamente encadeada dinâmica circular
Lista duplamente encadeada dinâmica circularLista duplamente encadeada dinâmica circular
Lista duplamente encadeada dinâmica circularElaine Cecília Gatto
 
Hash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático OperaçõesHash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático OperaçõesElaine Cecília Gatto
 
Programação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código FonteProgramação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código Fontethomasdacosta
 
Lista simplesmente encadeada dinâmica circular
Lista simplesmente encadeada dinâmica circularLista simplesmente encadeada dinâmica circular
Lista simplesmente encadeada dinâmica circularElaine Cecília Gatto
 

Semelhante a Tabela Hash com Lista Encadeada (8)

Hashing enderecamento aberto - operações
Hashing enderecamento aberto - operaçõesHashing enderecamento aberto - operações
Hashing enderecamento aberto - operações
 
Lista duplamente encadeada dinâmica circular
Lista duplamente encadeada dinâmica circularLista duplamente encadeada dinâmica circular
Lista duplamente encadeada dinâmica circular
 
Lista duplamente encadeada
Lista duplamente encadeada Lista duplamente encadeada
Lista duplamente encadeada
 
Code
CodeCode
Code
 
Hash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático OperaçõesHash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático Operações
 
Lista simplesmente encadeada
Lista simplesmente encadeada Lista simplesmente encadeada
Lista simplesmente encadeada
 
Programação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código FonteProgramação Estruturada 2 - Aula 02 - Código Fonte
Programação Estruturada 2 - Aula 02 - Código Fonte
 
Lista simplesmente encadeada dinâmica circular
Lista simplesmente encadeada dinâmica circularLista simplesmente encadeada dinâmica circular
Lista simplesmente encadeada dinâmica circular
 

Mais de Elaine Cecília Gatto

Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Elaine Cecília Gatto
 

Mais de Elaine Cecília Gatto (20)

Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 
Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...Exploring label correlations for partitioning the label space in multi label ...
Exploring label correlations for partitioning the label space in multi label ...
 

Último

trabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiatrabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiakarinareserva924
 
LAPBOOK DO SISTEMA SOLAR colorido e.pdf
LAPBOOK  DO SISTEMA SOLAR colorido e.pdfLAPBOOK  DO SISTEMA SOLAR colorido e.pdf
LAPBOOK DO SISTEMA SOLAR colorido e.pdfVivianeFerreiradaSil5
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfEliakimArajo2
 
Densidade e solubilidade 5 ano, aula 1 - 1° bimestre
Densidade e solubilidade 5 ano, aula 1 - 1° bimestreDensidade e solubilidade 5 ano, aula 1 - 1° bimestre
Densidade e solubilidade 5 ano, aula 1 - 1° bimestreAnaPaulaAmaral44
 
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptx
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptxIntroducao-sobre-Libâneo.pptx_20240308_212613_0000.pptx
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptxgabrieladesousa54
 
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos  BásicosIntrodução à Cartografia e Geoprocessamento - Conceitos  Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos BásicosVitor Vieira Vasconcelos
 
Lição 10 - A Ceia do Senhor - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptx
Lição 10 - A Ceia do Senhor  - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptxLição 10 - A Ceia do Senhor  - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptx
Lição 10 - A Ceia do Senhor - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptxTiagoCarpesDoNascime
 
Texto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasTexto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasEdileneAlves18
 
8_704__8o_ano_aula_N1_2024.pptx para aulas de artes
8_704__8o_ano_aula_N1_2024.pptx para aulas de artes8_704__8o_ano_aula_N1_2024.pptx para aulas de artes
8_704__8o_ano_aula_N1_2024.pptx para aulas de artesdouglasfronja07
 
Ensino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoEnsino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoLUZIATRAVASSO1
 
Antologia Literária NATAL em Versos 2023
Antologia Literária NATAL em Versos 2023Antologia Literária NATAL em Versos 2023
Antologia Literária NATAL em Versos 2023Nome Sobrenome
 
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptx
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptxSlides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptx
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptxLuizHenriquedeAlmeid6
 
Dengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxDengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxAndré Morária
 
morfologia_formacaodepalavras_aula1.pptx
morfologia_formacaodepalavras_aula1.pptxmorfologia_formacaodepalavras_aula1.pptx
morfologia_formacaodepalavras_aula1.pptxCindiaAianaFLDantas
 
Exercícios_Figuras_de_Linguagem para fundamental e medio
Exercícios_Figuras_de_Linguagem  para fundamental e medioExercícios_Figuras_de_Linguagem  para fundamental e medio
Exercícios_Figuras_de_Linguagem para fundamental e medioFernanda Mota
 
Os impactos ambientais e suas consequências
Os impactos ambientais e suas consequênciasOs impactos ambientais e suas consequências
Os impactos ambientais e suas consequênciasLaianaLessaTeixeiraP
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...excellenceeducaciona
 

Último (20)

trabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogiatrabalho de didatica 09/03/2024 pedagogia
trabalho de didatica 09/03/2024 pedagogia
 
LAPBOOK DO SISTEMA SOLAR colorido e.pdf
LAPBOOK  DO SISTEMA SOLAR colorido e.pdfLAPBOOK  DO SISTEMA SOLAR colorido e.pdf
LAPBOOK DO SISTEMA SOLAR colorido e.pdf
 
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdfCapitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
Capitulo-3-Portas-Logicas-e-Algebra-Booleana.pdf
 
Jogo dos Materiais - final Domínio Materiais.pdf
Jogo dos Materiais - final Domínio Materiais.pdfJogo dos Materiais - final Domínio Materiais.pdf
Jogo dos Materiais - final Domínio Materiais.pdf
 
Densidade e solubilidade 5 ano, aula 1 - 1° bimestre
Densidade e solubilidade 5 ano, aula 1 - 1° bimestreDensidade e solubilidade 5 ano, aula 1 - 1° bimestre
Densidade e solubilidade 5 ano, aula 1 - 1° bimestre
 
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptx
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptxIntroducao-sobre-Libâneo.pptx_20240308_212613_0000.pptx
Introducao-sobre-Libâneo.pptx_20240308_212613_0000.pptx
 
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos  BásicosIntrodução à Cartografia e Geoprocessamento - Conceitos  Básicos
Introdução à Cartografia e Geoprocessamento - Conceitos Básicos
 
NBR 10520.2023. Citações. 1s24 (revisão em 09mar24).pdf
NBR 10520.2023. Citações. 1s24 (revisão em 09mar24).pdfNBR 10520.2023. Citações. 1s24 (revisão em 09mar24).pdf
NBR 10520.2023. Citações. 1s24 (revisão em 09mar24).pdf
 
Lição 10 - A Ceia do Senhor - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptx
Lição 10 - A Ceia do Senhor  - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptxLição 10 - A Ceia do Senhor  - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptx
Lição 10 - A Ceia do Senhor - A Segunda Ordenança da Igreja(COM ANIMAÇÃO).pptx
 
Texto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavrasTexto sobre dengue, com atividades e caça palavras
Texto sobre dengue, com atividades e caça palavras
 
8_704__8o_ano_aula_N1_2024.pptx para aulas de artes
8_704__8o_ano_aula_N1_2024.pptx para aulas de artes8_704__8o_ano_aula_N1_2024.pptx para aulas de artes
8_704__8o_ano_aula_N1_2024.pptx para aulas de artes
 
Ensino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino ReligiosoEnsino Religioso Ensino Religioso Ensino Religioso
Ensino Religioso Ensino Religioso Ensino Religioso
 
Antologia Literária NATAL em Versos 2023
Antologia Literária NATAL em Versos 2023Antologia Literária NATAL em Versos 2023
Antologia Literária NATAL em Versos 2023
 
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptx
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptxSlides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptx
Slides Lição 13, CPAD, O Poder de Deus na Missão da Igreja.pptx
 
Dengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docxDengue - Atividades números naturais.docx
Dengue - Atividades números naturais.docx
 
morfologia_formacaodepalavras_aula1.pptx
morfologia_formacaodepalavras_aula1.pptxmorfologia_formacaodepalavras_aula1.pptx
morfologia_formacaodepalavras_aula1.pptx
 
Exercícios_Figuras_de_Linguagem para fundamental e medio
Exercícios_Figuras_de_Linguagem  para fundamental e medioExercícios_Figuras_de_Linguagem  para fundamental e medio
Exercícios_Figuras_de_Linguagem para fundamental e medio
 
Os impactos ambientais e suas consequências
Os impactos ambientais e suas consequênciasOs impactos ambientais e suas consequências
Os impactos ambientais e suas consequências
 
Complementação: Aplicando as Normas da ABNT. 1s24.pdf
Complementação: Aplicando as Normas da ABNT. 1s24.pdfComplementação: Aplicando as Normas da ABNT. 1s24.pdf
Complementação: Aplicando as Normas da ABNT. 1s24.pdf
 
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
Explique o modelo de determinação social da saúde proposto por Dahlgren e Whi...
 

Tabela Hash com Lista Encadeada

  • 1. 1 #include <iostream> 2 3 using namespace std; 4 const int tamanho = 8; 5 6 //DEFININDO A ESTRUTURA DE HASH 7 struct hash 8 { 9 int chave; 10 hash* proximo; 11 }; 12 13 //FUNÇÃO PARA INSERIR NA TABELA 14 void inserir(hash* tabela[], int posicao, int numero) 15 { 16 cout << " n == INSERINDO == n "; 17 hash* novo; 18 novo = new hash(); 19 novo->chave = numero; 20 novo->proximo = tabela[posicao]; 21 tabela[posicao] = novo; 22 cout << " n Elemento " << novo->chave << " inserido com sucesso! n "; 23 } 24 25 //FUNÇÃO QUE CALCULA A CHAVE - FUNÇÃO HASHING 26 int hashing(int numero) 27 { 28 cout << " n == FUNCAO HASHING == n"; 29 return numero % tamanho; 30 } 31 32 //FUNÇÃO PARA IMPRIMIR A TABELA 33 void imprimir(hash* tabela[]) 34 { 35 cout << " n == IMPRIMINDO == n"; 36 hash* aux; 37 for(int i =0; i<tamanho; i++) 38 { 39 aux = tabela[i]; 40 while(aux != NULL) 41 { 42 cout << " n Entrada: " << i << " Chave: " << aux->chave; 43 aux = aux->proximo; 44 } 45 } 46 cout << "n"; 47 } 48 49 //FUNÇÃO PARA EXCLUIR UM ELEMENTO DA TABELA 50 void excluir(hash* tabela[], int numero) 51 { 52 cout << " n == EXCLUINDO == n"; 53 int posicao = hashing(numero); 54 hash* aux; 55 if(tabela[posicao] != NULL) 56 { 57 if(tabela[posicao]->chave == numero) 58 { 59 aux = tabela[posicao]; 60 tabela[posicao] = tabela[posicao]->proximo; 61 cout << " n Numero " << aux->chave << " excluido com sucesso! n"; 62 delete aux; 63 } 64 else 65 { 66 aux = tabela[posicao]->proximo; 67 hash* ant = tabela[posicao]; 68 69 while(( aux != NULL ) && ( aux->chave != numero )) 70 { 71 ant = aux; 72 aux = aux->proximo; 73 } 74 75 if( aux != NULL ) 76 { 77 ant->proximo = aux->proximo; 78 cout << " n Numero " << aux->chave << " excluido com sucesso! n"; 79 delete aux; 80 81 } 82 else 83 { 84 cout << " n Numero nao encontrado! n";
  • 2. 85 } 86 87 } 88 } 89 else 90 { 91 cout << " n Numero nao encontrado! n"; 92 } 93 } 94 95 //FUNÇÃO PARA INICIALIZAR A TABELA 96 void inicializar(hash* tabela[]) 97 { 98 cout << " n == INICIALIZANDO == n"; 99 for(int i =0; i<tamanho; i++) 100 { 101 tabela[i] = NULL; 102 } 103 } 104 105 void destruir(hash* tabela[]) 106 { 107 cout << " n == DESTRUINDO == n"; 108 hash* aux; 109 for(int i =0; i<tamanho; i++) 110 { 111 while(tabela[i]!=NULL) 112 { 113 aux = tabela[i]; 114 tabela[i] = tabela[i]->proximo; 115 delete aux; 116 } 117 } 118 } 119 120 int main() 121 { 122 hash* tabela[tamanho]; 123 hash* aux; 124 int opcao, posicao, numero; 125 126 //MENU 127 do 128 { 129 cout << " n | MENU |"; 130 cout << " n | 1. Inicializar |"; 131 cout << " n | 2. Inserir |"; 132 cout << " n | 3. Excluir |"; 133 cout << " n | 4. Imprimir |"; 134 cout << " n | 5. Destruir |"; 135 cout << " n | 6. Sair |"; 136 cout << "n"; 137 cout << " n Digite a opcao desejada: "; 138 cin >> opcao; 139 140 switch(opcao) 141 { 142 case 1: 143 inicializar(tabela); 144 break; 145 case 2: 146 cout << " n Digite um numero: "; 147 cin >> numero; 148 posicao = hashing(numero); 149 inserir(tabela, posicao, numero); 150 break; 151 case 3: 152 cout << " n Digite um numero: "; 153 cin >> numero; 154 excluir(tabela, numero); 155 break; 156 case 4: 157 imprimir(tabela); 158 159 break; 160 case 5: 161 destruir(tabela); 162 break; 163 default: 164 cout << " n OPCAO INVALIDA "; 165 } 166 167 } 168 while(opcao!=6);
  • 3. 169 return 0; 170 } 171 172