SlideShare uma empresa Scribd logo
C:UserselainDocumentsNetBeansProjectsHeapMaximosrcHeapMaximoHeapMaximo.java
1 package HeapMaximo;
2
3 import java.util.Scanner;
4
5 public class HeapMaximo {
6
7 static int vetor[] = new int[11];
8
9 public static void main(String[] args) {
10 int op, i, tamanho=0, maiorPrioridade, indice, numero;
11 Scanner s = new Scanner(System.in);
12 do {
13 System.out.println(" | MENU | ");
14 System.out.println(" | 1. Inserir | ");
15 System.out.println(" | 2. Consultar o maior elemento | ");
16 System.out.println(" | 3. Remover o elemento da posição 1 | ");
17 System.out.println(" | 4. Listar todos os elementos da HEAP | ");
18 System.out.println(" | 5. Sair | ");
19 System.out.println("");
20 System.out.print("Digite a opção desejada: ");
21 op = s.nextInt();
22 System.out.println("");
23
24 switch (op) {
25 case 1:
26 System.out.println(" == INSERINDO NA HEAP == ");
27 //se o tamanho for MENOR que o tamanho do VETOR menos 1
28 if (tamanho < (vetor.length - 1)) {
29
30 tamanho++; //incrementa o tamanho
31
32 //solicita que o usuário digite um número para inserir na heap
33 System.out.print(" Digite um elemento: ");
34 numero = s.nextInt();
35
36 indice = tamanho; //o índice do vetor recebe o valor de tamanho
37
38 //enquanto o índice for MENOR que 1 E
39 //enquanto o índice do elemento PAI do vetor for menor
40 //que o número digitado
41 while ((indice > 1) && (vetor[Pai(indice)] < numero)) {
42 //a posicao atual recebe o valor da posicao pai
43 vetor[indice] = vetor[Pai(indice)];
44 //indice recebe o valor da posicao PAI
45 indice = Pai(indice);
46 }
47 vetor[indice] = numero; //a posicao INDICE do vetor recebe o número
HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html
1 de 3 09/09/2016 18:32
48 System.out.println(" Elemento inserido com sucesso! ");
49 System.out.println("");
50 } else {
51 System.out.println(" HEAP LOTADA! ");
52 System.out.println("");
53 }
54 break;
55 case 2:
56 if (tamanho == 0) {
57 System.out.println(" HEAP VAZIA! ");
58 } else{
59 System.out.println(" Elemento de maior prioridade: " + vetor[1]);
60 System.out.println("");
61 }
62 break;
63 case 3:
64 if (tamanho == 0) {
65 System.out.println(" HEAP VAZIA! ");
66 }else{
67 System.out.println(" == Remoção automática da primeira posição da HEAP == ");
68 maiorPrioridade = vetor[1];
69 vetor[1] = vetor[tamanho];
70 tamanho--;
71 heap(1, tamanho);
72 System.out.println(" O elemento removido foi: " + maiorPrioridade);
73 System.out.println("");
74 }
75 break;
76 case 4:
77 if (tamanho == 0) {
78 System.out.println(" HEAP VAZIA!!! ");
79 } else {
80 System.out.println(" == Imprimindo todos os elementos da HEAP == ");
81 for (i = 0; i < tamanho + 1; i++) {
82 System.out.println(" | Posicão: " + i + " | Elemento: " + vetor[i] + " | ");
83 }
84 System.out.println("");
85 }
86 break;
87 default:
88 System.out.println(" | OPÇÃO INVÁLIDA | ");
89 System.out.println("");
90 }
91 } while (op != 5);
92
93 }
94
95 public static int Pai(int x) {
96 return (x / 2);
97 }
HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html
2 de 3 09/09/2016 18:32
98
99 public static void heap(int i, int qtde) {
100 int maior, e, d, aux;
101 maior = i;
102 if ((2 * i + 1) <= qtde) {
103 e = (2 * i + 1);
104 d = 2 * i;
105 if ((vetor[e] >= vetor[d]) && (vetor[e] > vetor[i])) {
106 maior = 2 * i + 1;
107 } else if ((vetor[d] > vetor[e]) && (vetor[d] > vetor[i])) {
108 maior = 2 * i;
109 }
110 } else if ((2 * 1) <= 10) {
111 d = 2 * i;
112 if (vetor[d] > vetor[i]) {
113 maior = 2 * i;
114 }
115 }
116 if (maior != i) {
117 aux = vetor[i];
118 vetor[i] = vetor[maior];
119 vetor[maior] = aux;
120 heap(maior, qtde);
121 }
122 }
123
124
125 }
126
HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html
3 de 3 09/09/2016 18:32

Mais conteúdo relacionado

PDF
Heap Mínimo e Máximo
PDF
Hashing enderecamento aberto - operações
PDF
Tabela Hash com Lista Encadeada
PDF
Hash Endereçamento Quadrático Operações
ODP
TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!
PDF
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
PDF
Tipos Primitivos - Preparatório Certificação - OCAJP7 - Aula 2 - E
PDF
113856859 exercicios-vetor-e-matriz
Heap Mínimo e Máximo
Hashing enderecamento aberto - operações
Tabela Hash com Lista Encadeada
Hash Endereçamento Quadrático Operações
TDC2016POA | Trilha Java - Atualizando para Java 8 na prática!
Java 8 - Afinal onde usamos no dia a dia? TDC 2015 - Porto Alegre
Tipos Primitivos - Preparatório Certificação - OCAJP7 - Aula 2 - E
113856859 exercicios-vetor-e-matriz

Semelhante a Heap Máximo (20)

PDF
Busca Binária
PDF
Programação Desktop: Revisão Core Java
PDF
Selection Sort em Java
PDF
Insertion Sort Classe Java
PPTX
Curso java 01 - molhando os pés com java
PDF
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
PDF
Bubble Sort Classe Java
PDF
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
PDF
TDC2016SP - Trilha Node.Js
ODP
App scala
PPTX
Coleções do c
PPTX
Coleções do c
PDF
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
PDF
Refatoração de código com Capitão Nascimento versão completa
PDF
Algoritmos de ordenação
PDF
Turbinando o desenvolvimento Android com Kotlin
PPTX
Desenvolvendo para WEB com JAVA
PPTX
Java hidden features
PDF
Ecosistema spring a_plataforma_enterprise_jav
Busca Binária
Programação Desktop: Revisão Core Java
Selection Sort em Java
Insertion Sort Classe Java
Curso java 01 - molhando os pés com java
Estrutura de Dados e Algoritmos com Java #02-12: Vetores e Arrays
Bubble Sort Classe Java
[Curso Java Basico - Exceptions] Aula 48: multiplos catch
TDC2016SP - Trilha Node.Js
App scala
Coleções do c
Coleções do c
Grafos e Algoritimos - Dr. Julio Cesar de Araujo Menezes
Refatoração de código com Capitão Nascimento versão completa
Algoritmos de ordenação
Turbinando o desenvolvimento Android com Kotlin
Desenvolvendo para WEB com JAVA
Java hidden features
Ecosistema spring a_plataforma_enterprise_jav
Anúncio

Mais de Elaine Cecília Gatto (20)

PDF
Exercícios resolvidos de MIPS Portal Embarcados
PDF
Exercicio Resolvido de Busca Binária com Codigo e Imagens
PDF
A influência da Tecnologia em cada faixa etaria
PPTX
Inteligência Artificial Aplicada à Medicina
PPTX
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
PPTX
Apresentação da minha tese de doutorado no EPPC
PDF
entrevista r7.pdf
PPTX
Como a pesquisa científica impacta o mundo real.pptx
PDF
Empoderamento Feminino
PPTX
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
PPTX
Community Detection for Multi-Label Classification - Seminários UFSCar
PPTX
Classificação Multirrótulo: Aprendizado de Correlações
PDF
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
PPTX
Community Detection Method for Multi-Label Classification
PDF
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
PDF
Curtinhas de sábado.pdf
PDF
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
PDF
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
PDF
Pipeline desdobramento escalonamento
PDF
Cheat sheet Mips 32 bits
Exercícios resolvidos de MIPS Portal Embarcados
Exercicio Resolvido de Busca Binária com Codigo e Imagens
A influência da Tecnologia em cada faixa etaria
Inteligência Artificial Aplicada à Medicina
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Apresentação da minha tese de doutorado no EPPC
entrevista r7.pdf
Como a pesquisa científica impacta o mundo real.pptx
Empoderamento Feminino
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Community Detection for Multi-Label Classification - Seminários UFSCar
Classificação Multirrótulo: Aprendizado de Correlações
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
Community Detection Method for Multi-Label Classification
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Curtinhas de sábado.pdf
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...
Pipeline desdobramento escalonamento
Cheat sheet Mips 32 bits
Anúncio

Último (20)

PDF
O retorno a origem (islã Islamismo)
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PDF
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
PPTX
Programa Nacional de Saúde do Adulto.pptx
PPT
1ª Telefonia Fixa Padrao Novo Jailton 2012_22.ppt
PDF
Fiqh da adoração (islamismo)
PPT
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
PPTX
AULA METodologia MODIFIC PART 1 MSC.pptx
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PPTX
Fronteiras e soberania..........................pptx
PPTX
2. A Cultura do Salão - o fim das trevas.pptx
PDF
[Slides] A Literatura no ENEM 2017 (1).pdf
PPTX
"BPF, PPHO e APPCC na Indústria de Alimentos"
PDF
Extintores e Acessórios por Francisco Borges.pdf
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PPTX
5. A cultura do mundo virtual - globalidade.pptx
PPTX
Slides Lição 8, Betel, Jesus e a Mulher Adúltera, 3Tr25.pptx
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PPTX
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
O retorno a origem (islã Islamismo)
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
Ebook - Matemática_Ensino_Médio_Saeb_V1.pdf
Programa Nacional de Saúde do Adulto.pptx
1ª Telefonia Fixa Padrao Novo Jailton 2012_22.ppt
Fiqh da adoração (islamismo)
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
AULA METodologia MODIFIC PART 1 MSC.pptx
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Fronteiras e soberania..........................pptx
2. A Cultura do Salão - o fim das trevas.pptx
[Slides] A Literatura no ENEM 2017 (1).pdf
"BPF, PPHO e APPCC na Indústria de Alimentos"
Extintores e Acessórios por Francisco Borges.pdf
NR11 - Treinamento Direcao Defensiva - 2023.pptx
5. A cultura do mundo virtual - globalidade.pptx
Slides Lição 8, Betel, Jesus e a Mulher Adúltera, 3Tr25.pptx
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
INTRODUÇÃO AO ESTUDO DA ANATOMIA HUMANA [Salvo automaticamente].pptx
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.

Heap Máximo

  • 1. C:UserselainDocumentsNetBeansProjectsHeapMaximosrcHeapMaximoHeapMaximo.java 1 package HeapMaximo; 2 3 import java.util.Scanner; 4 5 public class HeapMaximo { 6 7 static int vetor[] = new int[11]; 8 9 public static void main(String[] args) { 10 int op, i, tamanho=0, maiorPrioridade, indice, numero; 11 Scanner s = new Scanner(System.in); 12 do { 13 System.out.println(" | MENU | "); 14 System.out.println(" | 1. Inserir | "); 15 System.out.println(" | 2. Consultar o maior elemento | "); 16 System.out.println(" | 3. Remover o elemento da posição 1 | "); 17 System.out.println(" | 4. Listar todos os elementos da HEAP | "); 18 System.out.println(" | 5. Sair | "); 19 System.out.println(""); 20 System.out.print("Digite a opção desejada: "); 21 op = s.nextInt(); 22 System.out.println(""); 23 24 switch (op) { 25 case 1: 26 System.out.println(" == INSERINDO NA HEAP == "); 27 //se o tamanho for MENOR que o tamanho do VETOR menos 1 28 if (tamanho < (vetor.length - 1)) { 29 30 tamanho++; //incrementa o tamanho 31 32 //solicita que o usuário digite um número para inserir na heap 33 System.out.print(" Digite um elemento: "); 34 numero = s.nextInt(); 35 36 indice = tamanho; //o índice do vetor recebe o valor de tamanho 37 38 //enquanto o índice for MENOR que 1 E 39 //enquanto o índice do elemento PAI do vetor for menor 40 //que o número digitado 41 while ((indice > 1) && (vetor[Pai(indice)] < numero)) { 42 //a posicao atual recebe o valor da posicao pai 43 vetor[indice] = vetor[Pai(indice)]; 44 //indice recebe o valor da posicao PAI 45 indice = Pai(indice); 46 } 47 vetor[indice] = numero; //a posicao INDICE do vetor recebe o número HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html 1 de 3 09/09/2016 18:32
  • 2. 48 System.out.println(" Elemento inserido com sucesso! "); 49 System.out.println(""); 50 } else { 51 System.out.println(" HEAP LOTADA! "); 52 System.out.println(""); 53 } 54 break; 55 case 2: 56 if (tamanho == 0) { 57 System.out.println(" HEAP VAZIA! "); 58 } else{ 59 System.out.println(" Elemento de maior prioridade: " + vetor[1]); 60 System.out.println(""); 61 } 62 break; 63 case 3: 64 if (tamanho == 0) { 65 System.out.println(" HEAP VAZIA! "); 66 }else{ 67 System.out.println(" == Remoção automática da primeira posição da HEAP == "); 68 maiorPrioridade = vetor[1]; 69 vetor[1] = vetor[tamanho]; 70 tamanho--; 71 heap(1, tamanho); 72 System.out.println(" O elemento removido foi: " + maiorPrioridade); 73 System.out.println(""); 74 } 75 break; 76 case 4: 77 if (tamanho == 0) { 78 System.out.println(" HEAP VAZIA!!! "); 79 } else { 80 System.out.println(" == Imprimindo todos os elementos da HEAP == "); 81 for (i = 0; i < tamanho + 1; i++) { 82 System.out.println(" | Posicão: " + i + " | Elemento: " + vetor[i] + " | "); 83 } 84 System.out.println(""); 85 } 86 break; 87 default: 88 System.out.println(" | OPÇÃO INVÁLIDA | "); 89 System.out.println(""); 90 } 91 } while (op != 5); 92 93 } 94 95 public static int Pai(int x) { 96 return (x / 2); 97 } HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html 2 de 3 09/09/2016 18:32
  • 3. 98 99 public static void heap(int i, int qtde) { 100 int maior, e, d, aux; 101 maior = i; 102 if ((2 * i + 1) <= qtde) { 103 e = (2 * i + 1); 104 d = 2 * i; 105 if ((vetor[e] >= vetor[d]) && (vetor[e] > vetor[i])) { 106 maior = 2 * i + 1; 107 } else if ((vetor[d] > vetor[e]) && (vetor[d] > vetor[i])) { 108 maior = 2 * i; 109 } 110 } else if ((2 * 1) <= 10) { 111 d = 2 * i; 112 if (vetor[d] > vetor[i]) { 113 maior = 2 * i; 114 } 115 } 116 if (maior != i) { 117 aux = vetor[i]; 118 vetor[i] = vetor[maior]; 119 vetor[maior] = aux; 120 heap(maior, qtde); 121 } 122 } 123 124 125 } 126 HeapMaximo.java file:///C:/Users/elain/HeapMaximo.html 3 de 3 09/09/2016 18:32