BST

Run Settings
LanguageJavaScript
Language Version
Run Command
class Vertex { constructor(value) { this.data = value; this.left = null; this.right = null; } } class BST { constructor() { this.root = null; } insert(value) { let ver = new Vertex(value); if(this.root == null) this.root = ver; else { let currNode = this.root; while(1) { if(value < currNode.data) { if(!currNode.left){ currNode.left = ver; return; } else currNode = currNode.left; } else { if(!currNode.right) { currNode.right = ver; break; } else currNode = currNode.right; } } } } lookup(value) { let currNode = this.root; while(currNode) { if(currNode.data == value) return currNode; else { if(value<currNode.data) { currNode = currNode.left; } else { currNode = currNode.right; } } } return -1; } remove(value) { let targetNode = this.lookup(value); if(targetNode!==-1) { if(targetNode.left == null && targetNode.right == null) targetNode = null; else{ } } } } let obj = new BST(); obj.insert(5) obj.insert(4); obj.insert(2); obj.insert(6); obj.insert(8); console.log(obj.lookup(9)) console.log(obj);
Editor Settings
Theme
Key bindings
Full width
Lines