zoukankan      html  css  js  c++  java
  • javascript 搜索二叉树

       function Tree() {
         this.root = null;
       }
       Tree.prototype = {
         constructor: Tree,
         addItem: function(value) {
           var Node = {
             data: value,
             left: null,
             right: null
           };
           if (this.root == null) {
             this.root = Node;
           } else {
             var current = this.root;
             var parent = current;
             while (current !== null) {
               parent = current;
               if (value < current.data) {
                 current = current.left;
                 continue; //此处easy忽略,缺少下一句if推断current.data会报错
               }
               if (value === current.data) {
                 return false;
               }
               if (value > current.data) {
                 current = current.right;
                 continue;
               }
             }
             if (value < parent.data) {
               parent.left = Node;
             }
             if (value > parent.data) {
               parent.right = Node;
             }
           }
         },
         /*先序遍历*/
         firstlist: function(root) {
           if (root !== null) {
             console.log(root.data);
             this.firstlist(root.left);
             this.firstlist(root.right);
           }
         },
         /*后序遍历*/
         lastlist: function(root) {
           if (root !== null) {
             this.lastlist(root.left);
             this.lastlist(root.right);
             console.log(root.data);
           }
         },
         /*中序遍历*/
         inlist: function(root) {
           if (root !== null) {
             this.inlist(root.left);
             console.log(root.data);
             this.inlist(root.right);
           }
         }
       };
       var Tree = new Tree();
       Tree.addItem(5);
       Tree.addItem(1);
       Tree.addItem(6);
       Tree.addItem(8);
       Tree.addItem(7);


  • 相关阅读:
    第二章例2-11
    第二章例2-10
    例2-11
    例2-9+2-10
    例2-7+例2-8
    例2-5+2-6
    例2-4
    例2-3
    例2-2
    例2-1
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5412160.html
Copyright © 2011-2022 走看看