二叉查找树数组的实现
时间:2011-05-15 来源:brokencode
1,实例变量,构造器,数组扩展
private Object[] contents;
private int count;
public ArrayBinarySearchTree(Object root)
{
//Object[] contents = new Object[10]; 悲剧啊!!!!局部变量覆盖了类成员变量
contents = new Object[10];
contents[0] = root;
count = 1;
}
public void expand()
{
//Object[] larger = new Object[size()*3];
Object[] larger = new Object[contents.length*3];
for(int i = 0;i < contents.length;i++)
larger[i] = contents[i];
contents = larger;
}
跟二叉树的数组实现差不多
2,三种迭代器方法,删除左右子树的方法跟二叉树的数组实现一样,参见清单
3,重新定义的public int find(Comparable target)方法,相对于链式实现,在数组实现中我觉得查找一个元素返回它的下标更贴切
相关阅读 更多 +
排行榜 更多 +