JSFiddle - React, Tailwind, and code Playground

by denisz

JavaScript

/**
Описать бинарное дерево на JavaScript
Создать два конструктора Tree и Node таким образом, что бы Tree имел возможность добавления нового узла Node, например:
tree.add(10) при условии, что если добавляемое число меньше значения в дереве, то оно записывается в левую ветку, если больше, то в правую.
*/


var Node = function() {
    var value, left, right;
}

var Tree = function(){
    var point;
}
Tree.prototype.add = function(data){
    var node = new Node();
    node.value = data;
    if(typeof this.point == 'undefined') {
        this.point = node;
    } else {
        if()
    }
}


function setTree(point, el) {
    if(point.value < el.value) {
        if(typeof point.left != 'undefined') {
            setTree(point.left, el);
        } else {
            point.left = el;
            return;
        }
    } else {
        if(typeof point.right != 'undefined') {
            setTree(point.right, el);
        } else {
            point.right = el;
            return;
        }
    }
}