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("Cruzeiro");
fila.add("América"); fila.add("América");
while (fila.isEmpty() == false){ while (!fila.isEmpty()){
System.out.println("Retirando da fila: " + fila.remove()); System.out.println("Retirando da fila: " + fila.remove());
} }
} }

View File

@ -33,3 +33,4 @@ class ListaNativa {
} }
} }
} }

View File

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

View File

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

View File

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

View File

@ -138,7 +138,7 @@ void ArvoreBinaria::inserir(int x, No* &i) {
} }
} }
/** /**
* Metodo publico iterativo para remover elemento. * Metodo publico iterativo para remover elemento.
* @param x Elemento a ser removido. * @param x Elemento a ser removido.
*/ */

View File

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

View File

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

View File

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

View File

@ -5,30 +5,11 @@
public class Principal { public class Principal {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
ArvoreBinaria arvoreBinaria = new ArvoreBinaria(); ArvoreBinaria arvoreBinaria = new ArvoreBinaria();
for(int i=1; i<30; i++){
arvoreBinaria.inserir(3); arvoreBinaria.inserir(i);
arvoreBinaria.inserir(5); System.out.print("No. nos: " + i);
arvoreBinaria.inserir(1); System.out.print("\t Altura: " + arvoreBinaria.getAltura());
arvoreBinaria.inserir(8); System.out.println("\t log(2): " + Math.log(i)/Math.log(2));
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();
} }
} }