buf fixed!

This commit is contained in:
Felipe Domingos 2021-11-15 15:19:10 -03:00
parent aae3f0549c
commit d979f0a58c
17 changed files with 554 additions and 575 deletions

View File

@ -8,7 +8,7 @@ public class FilaNativa {
fila.add("Cruzeiro");
fila.add("América");
while (fila.isEmpty() == false){
while (!fila.isEmpty()){
System.out.println("Retirando da fila: " + fila.remove());
}
}

View File

@ -14,7 +14,6 @@ class ColetaLixo {
public static void main (String [] args) {
ColetaLixo coletaLixo = new ColetaLixo ();
while(true){
coletaLixo.inserir(0);
}

View File

@ -198,3 +198,6 @@ void maiorEsq(No** i, No** j) {
free(del);
}
}

View File

@ -55,6 +55,5 @@ int main(){
caminharPre();
caminharPos();
return 1;
}

View File

@ -14,7 +14,7 @@ class ArvoreBinaria {
void caminharPos(No*);
void inserir(int, No* &);
void remover(int, No* &);
void antecessor(No*, No* &);
void maiorEsq(No*, No* &);
public:
ArvoreBinaria();

View File

@ -33,13 +33,10 @@ public class ArvoreBinaria {
boolean resp;
if (i == null) {
resp = false;
} else if (x == i.elemento) {
resp = true;
} else if (x < i.elemento) {
resp = pesquisar(x, i.esq);
} else {
resp = pesquisar(x, i.dir);
}
@ -129,17 +126,13 @@ public class ArvoreBinaria {
private No inserir(int x, No i) throws Exception {
if (i == null) {
i = new No(x);
} else if (x < i.elemento) {
i.esq = inserir(x, i.esq);
} else if (x > i.elemento) {
i.dir = inserir(x, i.dir);
} else {
throw new Exception("Erro ao inserir!");
}
return i;
}
@ -169,7 +162,7 @@ public class ArvoreBinaria {
*/
private void inserirPai(int x, No i, No pai) throws Exception {
if (i == null) {
if(x < i.elemento){
if(x < pai.elemento){
pai.esq = new No(x);
} else {
pai.dir = new No(x);
@ -254,13 +247,11 @@ public class ArvoreBinaria {
*/
public int getMaior(){
int resp = -1;
if(raiz != null){
No i;
for(i = raiz; i.dir != null; i = i.dir);
resp = i.elemento;
}
return resp;
}
@ -271,13 +262,11 @@ public class ArvoreBinaria {
*/
public int getMenor(){
int resp = -1;
if(raiz != null){
No i;
for(i = raiz; i.esq != null; i = i.esq);
resp = i.elemento;
}
return resp;
}
@ -290,7 +279,6 @@ public class ArvoreBinaria {
return getAltura(raiz, 0);
}
/**
* Metodo que retorna a altura da árvore
* @return int altura da árvore
@ -378,7 +366,9 @@ public class ArvoreBinaria {
public int soma(No i){
int resp = 0;
if(i != null){
resp = i.elemento + soma(i.esq) + soma(i.dir);
resp = i.elemento;
resp += soma(i.esq);
resp += soma(i.dir);
}
return resp;
}
@ -390,7 +380,9 @@ public class ArvoreBinaria {
public int quantidadePares(No i){
int resp = 0;
if(i != null){
resp = ((i.elemento % 2 == 0) ? 1 : 0) + quantidadePares(i.esq) + quantidadePares(i.dir);
resp = ((i.elemento % 2 == 0) ? 1 : 0);
resp += quantidadePares(i.esq);
resp += quantidadePares(i.dir);
}
return resp;
}
@ -407,3 +399,4 @@ public class ArvoreBinaria {
return resp;
}
}

View File

@ -1,7 +1,9 @@
/**
* No da arvore binaria
* @author Max do Val Machado
*/
class No {
public int elemento; // Conteudo do no.
public No esq, dir; // Filhos da esq e dir.
@ -26,3 +28,4 @@ class No {
this.dir = dir;
}
}

View File

@ -5,30 +5,11 @@
public class Principal {
public static void main(String[] args) throws Exception {
ArvoreBinaria arvoreBinaria = new ArvoreBinaria();
arvoreBinaria.inserir(3);
arvoreBinaria.inserir(5);
arvoreBinaria.inserir(1);
arvoreBinaria.inserir(8);
arvoreBinaria.inserir(2);
arvoreBinaria.inserir(4);
arvoreBinaria.inserir(7);
arvoreBinaria.inserir(6);
System.out.println("Altura: " + arvoreBinaria.getAltura());
System.out.println("Menor valor: " + arvoreBinaria.getMenor());
System.out.println("Maior valor: " + arvoreBinaria.getMaior());
arvoreBinaria.caminharCentral();
arvoreBinaria.caminharPre();
arvoreBinaria.caminharPos();
arvoreBinaria.remover(6);
arvoreBinaria.remover(2);
arvoreBinaria.remover(4);
arvoreBinaria.caminharCentral();
arvoreBinaria.caminharPre();
arvoreBinaria.caminharPos();
for(int i=1; i<30; i++){
arvoreBinaria.inserir(i);
System.out.print("No. nos: " + i);
System.out.print("\t Altura: " + arvoreBinaria.getAltura());
System.out.println("\t log(2): " + Math.log(i)/Math.log(2));
}
}
}