美文网首页
数据结构-二叉树实现

数据结构-二叉树实现

作者: jose_dl | 来源:发表于2017-08-12 09:40 被阅读0次
  • 树节点声明
class TreeNode {
       int value;
       TreeNode left_Node;
       TreeNode right_Node;
       // TreeNode构造函数
       public TreeNode(int value) {
          this.value=value;
          this.left_Node=null;
          this.right_Node=null;
       }
} 
  • 二叉树声明
class BinaryTree {
   public TreeNode rootNode; //二叉树的根节点
   //构造函数:利用传入一个数组的参数来建立二叉树
   public BinaryTree(int[] data) {
      for(int i=0;i<data.length;i++) 
         Add_Node_To_Tree(data[i]);
   }
   //将指定的值加入到二叉树中适当的节点
   void Add_Node_To_Tree(int value) {
      TreeNode currentNode=rootNode;
      if(rootNode==null) { //建立树根
         rootNode=new TreeNode(value);
         //一次添加一个节点进去
         return;
      }
    //建立二叉树
      while(true) {
         if (value<currentNode.value) { //在左子树
            if(currentNode.left_Node==null) {
              currentNode.left_Node=new TreeNode(value);
              return;
            }
            else currentNode=currentNode.left_Node;
         }
         else { //在右子树
            if(currentNode.right_Node==null) {
              currentNode.right_Node=new TreeNode(value);
              return;
            }
            else currentNode=currentNode.right_Node;
         }
       }
   }
}

相关文章

网友评论

      本文标题:数据结构-二叉树实现

      本文链接:https://www.haomeiwen.com/subject/kbmdrxtx.html