1 | var PriorityQueue = (function () {
|
2 | function PriorityQueue() {
|
3 | this.arr = [];
|
4 | this.prios = [];
|
5 | }
|
6 | PriorityQueue.prototype.add = function (t, prio) {
|
7 | for (var i = 0; i < this.arr.length; i++) {
|
8 | if (this.prios[i] < prio) {
|
9 | this.arr.splice(i, 0, t);
|
10 | this.prios.splice(i, 0, prio);
|
11 | return;
|
12 | }
|
13 | }
|
14 | this.arr.push(t);
|
15 | this.prios.push(prio);
|
16 | };
|
17 | PriorityQueue.prototype.forEach = function (f) {
|
18 | for (var i = 0; i < this.arr.length; i++) {
|
19 | f(this.arr[i], i, this.arr);
|
20 | }
|
21 | };
|
22 | PriorityQueue.prototype.delete = function (t) {
|
23 | for (var i = 0; i < this.arr.length; i++) {
|
24 | if (this.arr[i] === t) {
|
25 | this.arr.splice(i, 1);
|
26 | this.prios.splice(i, 1);
|
27 | return;
|
28 | }
|
29 | }
|
30 | };
|
31 | return PriorityQueue;
|
32 | }());
|
33 | export default PriorityQueue;
|
34 |
|
\ | No newline at end of file |