package demo1;
import java.util.LinkedList;
import org.junit.Test;
class Node{
int data;
Node rightChild;
Node leftChild;
public Node(int data){
this.data=data;
}
}
public class BinaryTree {
private Node root;
public BinaryTree(){
root=null;
}
public void insert(int num){
Node node=new Node(num);
if(root==null){
root=node;
return;
}else{
Node current=root;
Node parent;
while(true){
parent=current;
if(num<current.data){
current=parent.leftChild;
if(current==null){
parent.leftChild=node;
return;
}
}else{
current=parent.rightChild;
if(current==null){
parent.rightChild=node;
return;
}
}
}
}
}
@Test
public void te() {
int[]arr={88,55,2,6,44,1,75,3};
for (int i : arr) {
insert(i);
}
bianli(root);
cengxu(root);
}
public void cengxu(Node node){
if(node==null){
return;
}
LinkedList<Node>list=new LinkedList<>();
Node current=null;
list.addLast(node);
while(!list.isEmpty()){
current=list.removeFirst();
System.out.print(current.data+",");
if(current.leftChild!=null){
list.addLast(current.leftChild);
}
if(current.rightChild!=null){
list.addLast(current.rightChild);
}
}
}
public void bianli(Node node){
if(node!=null){
bianli(node.leftChild);
System.out.print(node.data+",");
bianli(node.rightChild);
}
}
}