当前位置: 代码迷 >> 综合 >> 二叉排序树中节点与父节点的查找
  详细解决方案

二叉排序树中节点与父节点的查找

热度:98   发布时间:2023-09-19 08:41:48.0

直接上代码

public class Node{int value;Node left;Node right;public Node(int value){this.value = value;}public void add(Node node){if(node==null){return;}if(node.value<this.value){if(this.left ==null){this.left=node;}else{this.left.add(node);}}else{if(this.right==null){this.right=node;}else{this.right.add(node);}           }}//中序遍历public void midShow() {if(this.left != null) {this.left.midShow();}System.out.print(this.toString());if(this.right != null) {this.right.midShow();}}	//查找节点public Node search(int value){if(this.value==value){return this;}else if(value<this.value){//查找左子树if(left==null){return null;}//递归调用search()方法return left.search(value);}else{//查找右子树if(right==null){return null;}//递归调用search()方法return right.search(value);}}//查找父节点public Node searchParent(int val) {if(((this.left !=null)&&(this.left.val ==val))||((this.right !=null)&&(this.right.val==val))){return this;}Node node = null;if(this.left !=null) {node = this.left.searchParent(val);if(node !=null)return node;}if(this.right !=null) {node = this.right.searchParent(val);}	return node;}
}