java数据结构和算法05(二叉树) (2)

  假如有root节点之后再要添加新的节点,先让parentNode指向current节点(就是root节点),current这个指针指向哪里就必须要判断newNode和root中数据的大小,如果newNode大,则current就指向左子节点,反之则指向右子节点;同时会判断左子结点或者右子节点是否存在,不存在的话直接将newNode放到该位置即可,存在的话继续执行while循环;具体代码如下:

public boolean add(int value){ Node newNode = new Node(value); if (root==null) { root = newNode; return true; }else{ Node parentNode = null; Node current = root; while(current!=null){ parentNode = current; if (value<current.key) { current = parentNode.leftChild; if (current==null) { parentNode.leftChild = newNode; return true; } }else{ current = parentNode.rightChild; if (current==null) { parentNode.rightChild = newNode; return true; } } } } return false; }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgwzjy.html