Build 545032stable
Module 67304
951 characters · in no known chunkDependencies
Source Raw
function(e,t,n){var i=n(744784);function r(e){this.data=e,this.left=null,this.right=null}function s(e){this._root=null,this._comparator=e,this.size=0}r.prototype.get_child=function(e){return e?this.right:this.left},r.prototype.set_child=function(e,t){e?this.right=t:this.left=t},s.prototype=new i,s.prototype.insert=function(e){if(null===this._root)return this._root=new r(e),this.size++,!0;for(var t=0,n=null,i=this._root;;){if(null===i)return i=new r(e),n.set_child(t,i),ret=!0,this.size++,!0;if(0===this._comparator(i.data,e))return!1;t=0>this._comparator(i.data,e),n=i,i=i.get_child(t)}},s.prototype.remove=function(e){if(null===this._root)return!1;var t=new r(void 0),n=t;n.right=this._root;for(var i=null,s=null,a=1;null!==n.get_child(a);){i=n,n=n.get_child(a);var o=this._comparator(e,n.data);a=o>0,0===o&&(s=n)}return null!==s&&(s.data=n.data,i.set_child(i.right===n,n.get_child(null===n.left)),this._root=t.right,this.size--,!0)},e.exports=s}