1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
| "use strict";
|
| Object.defineProperty(exports, "t", {
| value: true
| });
|
| exports.TreeNodeEnableIndex = exports.TreeNode = void 0;
|
| class TreeNode {
| constructor(e, t) {
| this.ee = 1;
| this.u = undefined;
| this.l = undefined;
| this.U = undefined;
| this.W = undefined;
| this.tt = undefined;
| this.u = e;
| this.l = t;
| }
| L() {
| let e = this;
| if (e.ee === 1 && e.tt.tt === e) {
| e = e.W;
| } else if (e.U) {
| e = e.U;
| while (e.W) {
| e = e.W;
| }
| } else {
| let t = e.tt;
| while (t.U === e) {
| e = t;
| t = e.tt;
| }
| e = t;
| }
| return e;
| }
| B() {
| let e = this;
| if (e.W) {
| e = e.W;
| while (e.U) {
| e = e.U;
| }
| return e;
| } else {
| let t = e.tt;
| while (t.W === e) {
| e = t;
| t = e.tt;
| }
| if (e.W !== t) {
| return t;
| } else return e;
| }
| }
| te() {
| const e = this.tt;
| const t = this.W;
| const s = t.U;
| if (e.tt === this) e.tt = t; else if (e.U === this) e.U = t; else e.W = t;
| t.tt = e;
| t.U = this;
| this.tt = t;
| this.W = s;
| if (s) s.tt = this;
| return t;
| }
| se() {
| const e = this.tt;
| const t = this.U;
| const s = t.W;
| if (e.tt === this) e.tt = t; else if (e.U === this) e.U = t; else e.W = t;
| t.tt = e;
| t.W = this;
| this.tt = t;
| this.U = s;
| if (s) s.tt = this;
| return t;
| }
| }
|
| exports.TreeNode = TreeNode;
|
| class TreeNodeEnableIndex extends TreeNode {
| constructor() {
| super(...arguments);
| this.rt = 1;
| }
| te() {
| const e = super.te();
| this.ie();
| e.ie();
| return e;
| }
| se() {
| const e = super.se();
| this.ie();
| e.ie();
| return e;
| }
| ie() {
| this.rt = 1;
| if (this.U) {
| this.rt += this.U.rt;
| }
| if (this.W) {
| this.rt += this.W.rt;
| }
| }
| }
|
| exports.TreeNodeEnableIndex = TreeNodeEnableIndex;
| //# sourceMappingURL=TreeNode.js.map
|
|