public class LinkedBinaryTreeDemo {
public static void main(String[] args) {
LinkedBinaryTree linkedBinaryTree=new LinkedBinaryTree();
for (int i = 1; i < 8; i++) {
linkedBinaryTree.insert(i);
}
linkedBinaryTree.preOrderTraversal();
}
}
class LinkedBinaryTree{
Node root;
int length=0;
public LinkedBinaryTree() {}
public void insert(int x){
if (length == 0) {
root=new Node(x);
}else {
findInsertPos(root,x);
}
length++;
}
public void findInsertPos(Node node,int val){
if (node.left == null) {
node.left=new Node(val);
}else if (node.right == null) {
node.right=new Node(val);
}else if(node.left.right!=null){
findInsertPos(node.right,val);
}else{
findInsertPos(node.left,val);
}
}
//前序遍历
public void preOrderTraversal(){
System.out.println(length);
root.preOrderTraversal();
}
}
class Node{
int val;
Node left;
Node right;
public Node(int val){
this.val=val;
}
//前序遍历
public void preOrderTraversal(){
System.out.println(this.val);
if (this.left != null) {
this.left.preOrderTraversal();
}
if (this.right != null) {
this.right.preOrderTraversal();
}
}
}
链式存储实现二叉树
最新推荐文章于 2023-05-05 23:27:35 发布