Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.*;
- class Main {
- static void main(String[] args) {
- int num = 0;
- Scanner in = new Scanner (System.in);
- Arvore binaria = new Arvore();
- while(in.hasNext()){
- num = in.nextInt();
- binaria.inserirArvore(num);
- }
- binaria.printarArvore(binaria);
- }
- }
- class Arvore{
- Arvore esq;
- Arvore dir;
- int numero;
- Arvore() {
- this.dir = null;
- this.esq = null;
- this.numero = 0;
- }
- Arvore(int inserido) {
- this.dir = null;
- this.esq = null;
- this.numero = numero;
- }
- Arvore inserirArvore(int inserido) {
- // Novo ramo pra armazenar o novo valor
- Arvore ramo = new Arvore(inserido);
- // 3 Casos: Arvore vazia (cria a raiz), valor menor que esq e valor maior que dir
- if (this.numero == 0) {
- Arvore raiz = new Arvore(inserido);
- } else if (inserido < this.numero) {
- // Se o cara é menor que o atual
- if (inserido < this.numero) {
- this.esq = ramo;
- } else {
- // Ele é menor que o atual, que deve ser realocado
- this.esq.inserirArvore(inserido);
- }
- } else {
- // O direito pode estar vazio, verifique isso
- if (this.dir == null) {
- this.dir = ramo;
- } else {
- this.dir.inserirArvore(inserido);
- }
- }
- return ramo;
- }
- void printarArvore(Arvore binaria) {
- if (binaria.esq != null){
- printarArvore(binaria.esq);
- } else {
- System.out.println(binaria.esq);
- }
- if (binaria.dir != null) {
- printarArvore(binaria.dir);
- } else {
- System.out.println(binaria.dir);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement