Napravio sam ti binarno stablo. Nadam se da ti ovo odgovara. Kad se program startuje možeš preko konzole da uneseš one brojeve koji ti trebaju i program će ih ispisati u inorder poretku.
Pozdrav!
Code:
package ceobroj;
public class Cvor {
public Cvor(int broj) {
this.broj = broj;
levi = null;
desni = null;
}
public int getBroj() {
return broj;
}
public void setBroj(int broj) {
this.broj = broj;
}
Cvor levi;
Cvor desni;
int broj;
}
Code:
package ceobroj;
import java.util.Scanner;
public class CeoBroj {
public CeoBroj() {
root = null;
}
public void dodaj(int broj) {
Cvor pomocni = new Cvor(broj);
if(root == null) {
root = pomocni;
} else {
Cvor pokazivac = root;
boolean ubacivanje = false;
while(!ubacivanje) {
if(pokazivac.getBroj() < broj) {
if(pokazivac.desni == null) {
pokazivac.desni = pomocni;
ubacivanje = true;
} else
pokazivac = pokazivac.desni;
} else {
if(pokazivac.levi == null) {
pokazivac.levi = pomocni;
ubacivanje = true;
} else
pokazivac = pokazivac.levi;
}
}
}
}
public void unosElemenata() {
Scanner unos = new Scanner(System.in);
System.out.println("Unesite broj elemenata stabla: ");
int brEl = unos.nextInt();
System.out.println("Pocnite da unosite elemente");
for(int i = 0; i < brEl; i++) {
int vrednost = unos.nextInt();
dodaj(vrednost);
}
}
public void inorder(Cvor element) {
if(element != null) {
inorder(element.levi);
System.out.println(element.getBroj());
inorder(element.desni);
}
}
public Cvor getRoot() {
return root;
}
private Cvor root;
}
Code:
package ceobroj;
public class Main {
public static void main(String[] args) {
CeoBroj cBroj = new CeoBroj();
cBroj.unosElemenata();
System.out.println("INORDER prikaz:");
cBroj.inorder(cBroj.getRoot());
}
}