📄 binsorttree.java
字号:
/**
*
*
*
*/
package dreamer.util;
public class BinSortTree<T>
{
private int key;
private T data;
private BinSortTree left;
private BinSortTree right;
private int length;
private static BinSortTree head;
public BinSortTree()
{
head = new BinSortTree();
length = 0;
}
private BinSortTree(int key,T data)
{
this.key = key;
this.data = data;
length++;
}
public void add(int key,T data)
{
BinSortTree node = new BinSortTree(key,data);
if(head.left==null)
{
head.left = node;
length++;
return;
}
if(key<=this.key)
{
if(left==null)
{
left = node;
length++;
return;
}
left.add(key,data);
length++;
}
else
{
if(right==null)
{
right = node;
length++;
return;
}
right.add(key,data);
length++;
}
}
public boolean contains(int key)
{
if(key==this.key)
return true;
if(key<this.key)
{
if(left!=null)
return left.contains(key);
}
else
{
if(right!=null)
return right.contains(key);
}
return false;
}
public T get(int key)
{
if(key==this.key)
return (T)data;
if(key<this.key)
{
if(left!=null)
return (T)left.get(key);
}
else
{
if(right!=null)
return (T)right.get(key);
}
return null;
}
public int size()
{
return length;
}
public void traverse()
{
if(left!=null)
left.traverse();
System.out.print(data+" ");
if(right!=null)
right.traverse();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -