毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> java技术 >> 正文

怎么用java先序创建二叉树源代码 第4页

更新时间:2012-12-7:  来源:毕业论文
bsp;   }

    //查找
    public BinaryNode<E> search(E value){//查找值为value的结点

return search(root,value);
    }

    private BinaryNode<E> search(BinaryNode<E> p,E value){//在以p为根的子树中查找值为value结点,先根次序遍历,返回查找的结点,若未找到返回null

BinaryNode<E> find = null;//记载找到的结点
if(p != null && value != null){

    if(p.data.equals(value))
find = p;//查找成功
    else{

find = search(p.left,value);//在左子树中查找
if(find == null)
    find = search(p.right,value);//若左子树中未找到,则继续在右子树中查找
    }
}
return find;//返回找到结点
    }

    //插入一个结点
    public void insert(BinaryNode<E> p,E element,boolean leftChild){//插入元素element作为p的孩子,若leftChild为true,插入结点作为左孩子,否则作为右孩子

if(p != null)
    if(leftChild)
p.left = new BinaryNode<E>(element,p.left,null);
    else
p.right = new BinaryNode<E>(element,null,p.right);
    }

    public void insert(BinaryNode<E> p,E element){//插入元素element作为p结点的左孩子

insert(p,element,true);
    }

    //删除一课子树
    public void remove(BinaryNode<E> p,boolean leftChild){//删除p结点的左/右子树,若leftChild为true,删除左子树,否则删除右子树

if(p != null)
    if(leftChild)
p.left = null;
    else
  p.right = null;
    }

    public void remove(BinaryNode<E> p){

remove(p,true);
    }
}

上一页  [1] [2] [3] [4] 

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©chuibin.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。