function BinaryTree() {
        var Node = function(key) {
            this.key = key;
            this.left = null;
            this.right = null;
        }
        var root = null;
        var insertNode = function(node, newNode) {
            if (newNode.key < node.key){
                if(node.left === null) {
                    node.left = newNode;
                } else {
                    insertNode(node.left, newNode);
                }

            } else {
                if (node.right === null) {
                    node.right = newNode;
                } else {
                    insertNode(node.right, newNode);
                }
            }
        }
        this.insert = function(key) {
            var newNode = new Node(key);
            if(root === null){
                root = newNode;
            } else {
                insertNode(root, newNode)
            }
        }
        this.inOrderTraverseNode = function(node,callback){
            if(node !==null) {
                inOrderTraverseNode(node.left,callback);
                callback(node.key);
                inOrderTraverseNode(node.right,callback)
            }
        }
        this.inOrderTraverse = function(callback) {
            inOrderTraverseNode(root,callback)
        }
    }

    ,,,,,,,,];
    var binaryTree = new BinaryTree();
    nodes.forEach(function(key){
        binaryTree.insert(key);
    });
    var callback = function(key) {
        console.log(key)
    }

    binaryTree.inOrderTraverse(callback);
    

最新文章

  1. 剑指Offer面试题:2.二维数组中的查找
  2. SQL一次查出多个字段的COUNT值
  3. MEF(Managed Extensibility Framework )的入门介绍
  4. php表单中如何获取单选按钮与复选按钮的值
  5. Emmet插件比较实用常用的写法
  6. Tomcat的JVM优化
  7. 使用自定义的item、Adapter和AsyncTask、第三方开源框架PullToRefresh联合使用实现自定义的下拉列表(从网络加载图片显示在item中的ImageView)
  8. ios第三方工具
  9. HBase -ROOT-和.META.表结构(region定位原理)
  10. javascript 代码放在head和body的区别
  11. ROS(indigo)ROSPlan框架
  12. 内连接查询 (select * from a join b on a.id = b.id) 与 关联查询 (select * from a , b where a.id = b.id)的区别
  13. Net开发的部分知名网站案例
  14. 安全测试&#160;一次关于WEB的URL安全测试
  15. interface关键字定义接口
  16. hdu 2049 不easy系列之(4)——考新郎
  17. Android UiAutomator UiDevice API
  18. POJ 1062 昂贵的聘礼(枚举限制条件——Dijkstra算法)
  19. mysql 优化海量数据插入和查询性能
  20. CSS 高度(css height)

热门文章

  1. 请求数据分析 xpath语法 与lxml库
  2. 【NOIP2017】逛公园 最短路+DP
  3. POST 请求的 forHTTPHeaderField
  4. Window Navigator对象
  5. Python基础部分的疑惑解析——pycharm(4)
  6. 如何在NAS上安装Git Server
  7. 【jQuery源码】事件存储结构
  8. Okhttp3上传多张图片同时传递参数
  9. Flow类
  10. slq 修改表结构