public class Test26 {
/*
* 1.二叉树排序规则
* (1)选择第一个元素作为根元素
* (2)之后元素如果小于根节点,放在左子树;如果大于等于根节点,放在右子树。
* (3)遍历输出,左、中、右。
* */
public static void main(String[] args) {
BinaryTree bt = new BinaryTree();
bt.add(8);
bt.add(3);
bt.add(10);
bt.add(1);
bt.add(6);
bt.add(7);
bt.add(3);
bt.add(67);
bt.add(2);
bt.print();
}
}
class BinaryTree{
private Node root;
public void add(int data){
if (root==null){
root=new Node(data);
}else {
root.addNode(data);
}
}
public void print(){
root.printNode();
}
private class Node{
private int data;
private Node left;
private Node right;
public Node(int data) {
this.data = data;
}
public void addNode(int data){
if (this.data>data){
if (this.left==null){
this.left=new Node(data);
}else {
this.left.addNode(data);
}
}else {
if (this.right==null){
this.right=new Node(data);
}else {
this.right.addNode(data);
}
}
}
public void printNode(){
if (this.left!=null){
this.left.printNode();
}
System.out.print(this.data+"->");
if (this.right!=null){
this.right.printNode();
}
}
}
}
【Java随笔】二叉树排序
最新推荐文章于 2024-07-15 22:27:18 发布