如何解决BST中仅插入了根元素
我正在尝试使用以下方法编写将元素插入BST的方法:
//method to insert the data in bst
public static void insertBST(Node temp,int data){
if(temp== null){
root1= new Node(data);
return;
}
Queue<Node> q= new LinkedList<Node>();
q.add(temp);
while(!q.isEmpty()){
temp= q.peek();
q.remove();
if(temp== null){
temp= new Node(data);
break;
}
if(temp.data< data){
q.add(temp.right);
}
else if(temp.data>data)
q.add(temp.left);
}
}
但是当我尝试按顺序打印BST的元素时,只有根元素才被打印
//Method for inorder traversal
public static void inorder(Node root){
if(root == null)
return;
inorder(root.left);
System.out.print(root.data+ " ");
inorder(root.right);
}
//Structure of Node class
public static class Node{
int data;
Node left;
Node right;
public Node(int data){
this.data= data;
left= null;
right= null;
}
}
static Node root1= null;
主要方法调用:
public static void main(String args[]){
insertBST(root1,5);
insertBST(root1,3);
insertBST(root1,7);
insertBST(root1,4);
inorder(root1);
}
请告诉我我做错了什么
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。