我正在尝试创建一个二叉搜索树并进行inorder遍历,但它无法正常工作。

时间:2016-08-21 17:12:04

标签: java

import java.util.*;

我的主要课程

class Solution{

定义节点类

  class Node{
    int data;
    Node left,right;
    Node(int d){
        data = d;
        left=right=null;
    }
}

在此处初始化根节点

Node root;
Solution(){
    root=null;
}

用于在二进制搜索树中插入新节点的功能

void insert(int k){
    push(root,k);
Node push(Node root, int key){

如果遇到空节点,则创建具有给定键的新节点

    if(root==null){
        root=new Node(key);
        return root;
    }
    if(key>root.data){
        push(root.right,key);
    }
    if(key<root.data){
        push(root.left,key);
    }
    return root;
}

}
void Print(){
    inorder(root);
}

用于顺序遍历的功能。

void inorder(Node root){
        if(root!=null){
        inorder(root.left);
        System.out.println(root.data);
        inorder(root.right);
    }
}
public static void main(String[] args){
    Solution sol = new Solution();
    sol.insert(50);
    sol.insert(60);
    sol.insert(10);
    sol.insert(80);
    sol.insert(20);
    sol.Print();

    }
}

0 个答案:

没有答案