t2.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. SplayTreeNode = function () {
  6. };
  7. function insertA(node) {
  8. node.left = root;
  9. node.right = root.right;
  10. root.right = null;
  11. root = node;
  12. };
  13. function insertB(node) {
  14. node.right = root;
  15. node.left = root.left;
  16. root.left = null;
  17. root = node;
  18. };
  19. function remove() {
  20. var right = root.right;
  21. root = root.left;
  22. root.right = right;
  23. };
  24. SplayTreeNode.prototype.left = null;
  25. SplayTreeNode.prototype.right = null;
  26. var a = new SplayTreeNode();
  27. var b = new SplayTreeNode();
  28. var c = new SplayTreeNode();
  29. var d = new SplayTreeNode();
  30. var root = new SplayTreeNode();
  31. insertA(a);
  32. insertB(b);
  33. insertA(c);
  34. remove();
  35. insertA(d);
  36. remove();
  37. // expected: [object Object] [object Object] [object Object]
  38. WScript.Echo(root, root.left, root.right);