|
74 | 74 | exports.Nil=Nil;
|
75 | 75 |
|
76 | 76 | functionupdateChild(node,newChild){
|
77 |
| -letparent=node.parent; |
| 77 | +varparent=node.parent; |
78 | 78 | if(parent!==Nil){
|
79 | 79 | if(parent.right===node){
|
80 | 80 | parent.right=newChild;
|
|
172 | 172 |
|
173 | 173 | functionmaintainSizeBalancedTree(node){
|
174 | 174 | while(node.parent!==Nil){
|
175 |
| -letchildNode=node; |
| 175 | +varchildNode=node; |
176 | 176 | node=node.parent;
|
177 | 177 | if(node.left==childNode){
|
178 | 178 | node=maintain(node,true);
|
|
236 | 236 | *@param {Object} value Value.
|
237 | 237 | */
|
238 | 238 | exports.SBTree.prototype.push=function(value){
|
239 |
| -letnode=findRightMost(this._root); |
240 |
| -letnewNode=newNode(value,node,Nil,Nil,1); |
| 239 | +varnode=findRightMost(this._root); |
| 240 | +varnewNode=newNode(value,node,Nil,Nil,1); |
241 | 241 | if(node!==Nil)node.right=newNode;
|
242 | 242 | this._root=maintainSizeBalancedTree(newNode);
|
243 | 243 | returnnewNode;
|
|
251 | 251 | };
|
252 | 252 |
|
253 | 253 | exports.SBTree.prototype.getIndex=function(node){
|
254 |
| -letindex=node.left.size; |
| 254 | +varindex=node.left.size; |
255 | 255 | while(node!=this._root){
|
256 |
| -letparent=node.parent; |
| 256 | +varparent=node.parent; |
257 | 257 | if(parent.right===node){
|
258 | 258 | index+=parent.left.size+1;
|
259 | 259 | }
|
|
266 | 266 | if(pos>=this._root.size){
|
267 | 267 | returnthis.push(value)
|
268 | 268 | }
|
269 |
| -letnode=findNodeAtPos(this._root,pos); |
270 |
| -letnewNode |
| 269 | +varnode=findNodeAtPos(this._root,pos); |
| 270 | +varnewNode |
271 | 271 | if(node.left===Nil){
|
272 | 272 | newNode=newNode(value,node,Nil,Nil,1);
|
273 | 273 | node.left=newNode;
|
|
284 | 284 | if(pos>=this._root.size){
|
285 | 285 | returnNil;// There is no element to remove
|
286 | 286 | }
|
287 |
| -letnode=findNodeAtPos(this._root,pos); |
288 |
| -letmaintainNode; |
| 287 | +varnode=findNodeAtPos(this._root,pos); |
| 288 | +varmaintainNode; |
289 | 289 |
|
290 | 290 | /*
|
291 | 291 | Before remove:
|
|
313 | 313 |
|
314 | 314 | */
|
315 | 315 | if(node.left!==Nil){
|
316 |
| -letLRM=findRightMost(node.left); |
| 316 | +varLRM=findRightMost(node.left); |
317 | 317 | updateChild(node,node.left)
|
318 | 318 | LRM.right=node.right
|
319 | 319 | if(LRM.right===Nil){
|
|
323 | 323 | maintainNode=LRM.right;
|
324 | 324 | }
|
325 | 325 | }elseif(node.right!==Nil){
|
326 |
| -letRLM=findLeftMost(node.right); |
| 326 | +varRLM=findLeftMost(node.right); |
327 | 327 | updateChild(node,node.right)
|
328 | 328 | RLM.left=node.left
|
329 | 329 | if(RLM.left===Nil){
|
|