JSFiddle - React, Tailwind, and code Playground
by hughes
JavaScript
var Node = function (value) {
this.value = value;
this.left = null;
this.right = null;
}
Node.prototype.contains = function(value) {
if (this === null) {
return false;
} else if (value === this.value) {
return true;
} else if (value > this.value) {
return Node.prototype.contains.call(this.right, value);
} else if (value < this.value) {
return Node.prototype.contains.call(this.left, value);
}
return false;
};
Node.prototype.insert = function(value) {
if (this === null) {
return new Node(value);
} else if (value > this.value) {
this.right = Node.prototype.insert.call(this.right, value);
} else if (value < this.value) {
this.left = Node.prototype.insert.call(this.left, value);
}
return this;
};
Node.prototype.delete = function(value) {
if (this === null) {
return;
} else if (value === this.value) {
return null;
} else if (value > this.value) {
this.right = Node.prototype.delete.call(this.right, value);
} else if (value < this.value) {
this.left = Node.prototype.delete.call(this.left, value);
}
return this;
};
var Tree = function () {
this.root = null;
}
Tree.prototype.contains = function (value) {
return Node.prototype.contains.call(this.root, value);
}
Tree.prototype.insert = function(value) {
this.root = Node.prototype.insert.call(this.root, value);
};
Tree.prototype.delete = function(value) {
this.root = Node.prototype.delete.call(this.root, value);
};
window.tree = new Tree()
tree.contains(10);
tree.insert(15);