Exemplo n.º 1
0
 public void insert(int id, String data) {
   // 1.创建新节点
   Node newNode = new Node(id, data);
   if (root == null) {
     root = newNode;
   } else {
     // 2.查找插入位置
     Node current = root;
     Node parent = null;
     while (true) {
       parent = current;
       if (id < current.getId()) {
         current = current.getLeftNode();
         if (current == null) {
           // 3.修改节点属性
           parent.setLeftNode(newNode);
           return;
         }
       } else {
         current = current.getRightNode();
         if (current == null) {
           // 3.修改节点属性
           parent.setRightNode(newNode);
           return;
         }
       }
     }
   }
 }
Exemplo n.º 2
0
 public Node find(int key) {
   Node current = root;
   while (current.getId() != key) {
     if (current.getId() > key) {
       current = current.getLeftNode();
     } else if (current.getId() < key) {
       current = current.getRightNode();
     }
     if (current == null) {
       return null;
     }
   }
   return current;
 }