Sha256: c811da51af47912053eb11b25d22b64513bdb6ca8dbbc0e2039263723bfb5b97
Contents?: true
Size: 806 Bytes
Versions: 211
Compression:
Stored size: 806 Bytes
Contents
class BinarySearchTree { constructor(data) { this.data = data; this.left = undefined; this.right = undefined; } insert(value) { if (value <= this.data) { this.insertLeft(value); } else { this.insertRight(value); } return this; } insertLeft(value) { if (!this.left) { this.left = new BinarySearchTree(value); } else { this.left.insert(value); } return this; } insertRight(value) { if (!this.right) { this.right = new BinarySearchTree(value); } else { this.right.insert(value); } return this; } each(fn) { if (this.left) { this.left.each(fn); } fn.call(this, this.data); if (this.right) { this.right.each(fn); } } } export default BinarySearchTree;
Version data entries
211 entries across 211 versions & 1 rubygems