public class Node {
public int value;
public Node left;
public Node right;
public void store(int value){
if(value<this.value){
if(this.left == null){
this.left = new Node();
this.left.value = value;
}else{
this.left.store(value);
}
}else if(value>this.value){
if(this.right == null){
this.right = new Node();
this.right.value = value;
}else{
this.right.store(value);
}
}
}
public boolean find(int value){
System.out.println("happen"+this.value);
if(value == this.value){
return true;
}else if(value<this.value){
return this.left.find(value);
}else{
return this.right.find(value);
}
}
public void preList(){
System.out.println(this.value+",");
if(left!=null){
this.left.preList();
}
if(this.right != null){
this.right.preList();
}
}
public void middleList(){
if(this.left != null){
left.middleList();
}
System.out.println(this.value + ",");
if(this.right != null){
right.middleList();
}
}
public void afterList(){
if(this.left != null){
this.left.afterList();
}
if(this.right != null){
right.afterList();
}
System.out.println(value + ",");
}
public static void main(String []args){
int [] data = new int[20];
for(int i=0;i<data.length;i++){
data[i] = (int)(Math.random()*100)+1;
System.out.println(data[i]+",");
}
System.out.println();
Node root = new Node();
root.value = data[0];
for(int i=1;i<data.length;i++){
root.store(data[i]);
}
root.find(data[19]);
root.preList();
System.out.println();
root.middleList();
System.out.println();
root.afterList();
}
}
用java实现的二叉排序树
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 这是组合设计模式。我有很多个(假设10万个)数据要保存起来,以后还需要从保存的这些数据中检索是否存在某个数据,(我...
- 1、首先gradle 是谷歌的一门语言、参考链接https://docs.gradle.org/current/u...