mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-22 03:51:23 +01:00
feat: edit routes - main
This commit is contained in:
parent
d6c01c8995
commit
68b4cfd370
9 changed files with 401 additions and 357 deletions
57
libs/flatqueue.js
Normal file
57
libs/flatqueue.js
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
!(function (t, s) {
|
||||
"object" == typeof exports && "undefined" != typeof module
|
||||
? (module.exports = s())
|
||||
: "function" == typeof define && define.amd
|
||||
? define(s)
|
||||
: ((t = "undefined" != typeof globalThis ? globalThis : t || self).FlatQueue = s());
|
||||
})(this, function () {
|
||||
"use strict";
|
||||
return class {
|
||||
constructor() {
|
||||
(this.ids = []), (this.values = []), (this.length = 0);
|
||||
}
|
||||
clear() {
|
||||
this.length = 0;
|
||||
}
|
||||
push(t, s) {
|
||||
let i = this.length++;
|
||||
for (; i > 0; ) {
|
||||
const t = (i - 1) >> 1,
|
||||
e = this.values[t];
|
||||
if (s >= e) break;
|
||||
(this.ids[i] = this.ids[t]), (this.values[i] = e), (i = t);
|
||||
}
|
||||
(this.ids[i] = t), (this.values[i] = s);
|
||||
}
|
||||
pop() {
|
||||
if (0 === this.length) return;
|
||||
const t = this.ids[0];
|
||||
if ((this.length--, this.length > 0)) {
|
||||
const t = (this.ids[0] = this.ids[this.length]),
|
||||
s = (this.values[0] = this.values[this.length]),
|
||||
i = this.length >> 1;
|
||||
let e = 0;
|
||||
for (; e < i; ) {
|
||||
let t = 1 + (e << 1);
|
||||
const i = t + 1;
|
||||
let h = this.ids[t],
|
||||
l = this.values[t];
|
||||
const n = this.values[i];
|
||||
if ((i < this.length && n < l && ((t = i), (h = this.ids[i]), (l = n)), l >= s)) break;
|
||||
(this.ids[e] = h), (this.values[e] = l), (e = t);
|
||||
}
|
||||
(this.ids[e] = t), (this.values[e] = s);
|
||||
}
|
||||
return t;
|
||||
}
|
||||
peek() {
|
||||
if (0 !== this.length) return this.ids[0];
|
||||
}
|
||||
peekValue() {
|
||||
if (0 !== this.length) return this.values[0];
|
||||
}
|
||||
shrink() {
|
||||
this.ids.length = this.values.length = this.length;
|
||||
}
|
||||
};
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue