mirror of
https://github.com/JasonYANG170/IOTConnect-Web.git
synced 2024-11-24 04:36:31 +00:00
116 lines
2.3 KiB
JavaScript
116 lines
2.3 KiB
JavaScript
|
"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
|