linked-list-typed 2.4.3 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +10 -10
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs-legacy/index.cjs +11 -10
- package/dist/cjs-legacy/index.cjs.map +1 -1
- package/dist/esm/index.mjs +10 -10
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm-legacy/index.mjs +11 -10
- package/dist/esm-legacy/index.mjs.map +1 -1
- package/dist/types/data-structures/base/iterable-element-base.d.ts +1 -1
- package/dist/types/data-structures/binary-tree/binary-tree.d.ts +5 -5
- package/dist/types/data-structures/binary-tree/bst.d.ts +1 -1
- package/dist/types/data-structures/graph/directed-graph.d.ts +2 -2
- package/dist/types/data-structures/graph/undirected-graph.d.ts +2 -2
- package/dist/types/data-structures/hash/hash-map.d.ts +2 -2
- package/dist/types/data-structures/heap/heap.d.ts +3 -7
- package/dist/types/types/data-structures/binary-tree/avl-tree.d.ts +1 -1
- package/dist/types/types/data-structures/binary-tree/red-black-tree.d.ts +1 -1
- package/dist/types/types/data-structures/linked-list/doubly-linked-list.d.ts +1 -1
- package/dist/types/types/data-structures/linked-list/singly-linked-list.d.ts +1 -1
- package/dist/types/types/data-structures/priority-queue/priority-queue.d.ts +1 -1
- package/dist/types/types/data-structures/stack/stack.d.ts +1 -1
- package/dist/umd/linked-list-typed.js +11 -10
- package/dist/umd/linked-list-typed.js.map +1 -1
- package/dist/umd/linked-list-typed.min.js +1 -1
- package/dist/umd/linked-list-typed.min.js.map +1 -1
- package/package.json +2 -2
- package/src/data-structures/base/iterable-element-base.ts +2 -2
- package/src/data-structures/binary-tree/binary-tree.ts +8 -7
- package/src/data-structures/binary-tree/bst.ts +1 -1
- package/src/data-structures/binary-tree/tree-multi-set.ts +5 -5
- package/src/data-structures/graph/abstract-graph.ts +18 -18
- package/src/data-structures/graph/directed-graph.ts +4 -4
- package/src/data-structures/graph/map-graph.ts +1 -1
- package/src/data-structures/graph/undirected-graph.ts +4 -4
- package/src/data-structures/hash/hash-map.ts +6 -4
- package/src/data-structures/heap/heap.ts +17 -14
- package/src/data-structures/linked-list/doubly-linked-list.ts +4 -4
- package/src/data-structures/linked-list/singly-linked-list.ts +15 -9
- package/src/data-structures/queue/deque.ts +1 -1
- package/src/data-structures/stack/stack.ts +1 -1
- package/src/data-structures/trie/trie.ts +10 -5
- package/src/types/data-structures/binary-tree/avl-tree.ts +1 -1
- package/src/types/data-structures/binary-tree/red-black-tree.ts +1 -1
- package/src/types/data-structures/linked-list/doubly-linked-list.ts +1 -1
- package/src/types/data-structures/linked-list/singly-linked-list.ts +1 -1
- package/src/types/data-structures/priority-queue/priority-queue.ts +1 -1
- package/src/types/data-structures/stack/stack.ts +1 -1
|
@@ -654,7 +654,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
|
|
|
654
654
|
*/
|
|
655
655
|
constructor(elements = [], options) {
|
|
656
656
|
super(options);
|
|
657
|
-
__publicField(this, "_equals", Object.is);
|
|
657
|
+
__publicField(this, "_equals", /* @__PURE__ */ __name((a, b) => Object.is(a, b), "_equals"));
|
|
658
658
|
__publicField(this, "_head");
|
|
659
659
|
__publicField(this, "_tail");
|
|
660
660
|
__publicField(this, "_length", 0);
|
|
@@ -742,6 +742,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
|
|
|
742
742
|
* @returns Removed element or undefined.
|
|
743
743
|
*/
|
|
744
744
|
pop() {
|
|
745
|
+
var _a;
|
|
745
746
|
if (!this.head) return void 0;
|
|
746
747
|
if (this.head === this.tail) {
|
|
747
748
|
const value2 = this.head.value;
|
|
@@ -751,8 +752,8 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
|
|
|
751
752
|
return value2;
|
|
752
753
|
}
|
|
753
754
|
let current = this.head;
|
|
754
|
-
while (current.next !== this.tail) current = current.next;
|
|
755
|
-
const value = this.tail.value;
|
|
755
|
+
while (current.next && current.next !== this.tail) current = current.next;
|
|
756
|
+
const value = (_a = this.tail) == null ? void 0 : _a.value;
|
|
756
757
|
current.next = void 0;
|
|
757
758
|
this._tail = current;
|
|
758
759
|
this._length--;
|
|
@@ -840,8 +841,8 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
|
|
|
840
841
|
at(index) {
|
|
841
842
|
if (index < 0 || index >= this._length) return void 0;
|
|
842
843
|
let current = this.head;
|
|
843
|
-
for (let i = 0; i < index; i++) current = current.next;
|
|
844
|
-
return current.value;
|
|
844
|
+
for (let i = 0; i < index && current; i++) current = current.next;
|
|
845
|
+
return current == null ? void 0 : current.value;
|
|
845
846
|
}
|
|
846
847
|
/**
|
|
847
848
|
* Type guard: check whether the input is a SinglyLinkedListNode.
|
|
@@ -861,7 +862,7 @@ var _SinglyLinkedList = class _SinglyLinkedList extends LinearLinkedBase {
|
|
|
861
862
|
getNodeAt(index) {
|
|
862
863
|
if (index < 0 || index >= this._length) return void 0;
|
|
863
864
|
let current = this.head;
|
|
864
|
-
for (let i = 0; i < index; i++) current = current.next;
|
|
865
|
+
for (let i = 0; i < index && current; i++) current = current.next;
|
|
865
866
|
return current;
|
|
866
867
|
}
|
|
867
868
|
/**
|
|
@@ -1377,7 +1378,7 @@ var _DoublyLinkedList = class _DoublyLinkedList extends LinearLinkedBase {
|
|
|
1377
1378
|
*/
|
|
1378
1379
|
constructor(elements = [], options) {
|
|
1379
1380
|
super(options);
|
|
1380
|
-
__publicField(this, "_equals", Object.is);
|
|
1381
|
+
__publicField(this, "_equals", /* @__PURE__ */ __name((a, b) => Object.is(a, b), "_equals"));
|
|
1381
1382
|
__publicField(this, "_head");
|
|
1382
1383
|
__publicField(this, "_tail");
|
|
1383
1384
|
__publicField(this, "_length", 0);
|
|
@@ -1565,8 +1566,8 @@ var _DoublyLinkedList = class _DoublyLinkedList extends LinearLinkedBase {
|
|
|
1565
1566
|
at(index) {
|
|
1566
1567
|
if (index < 0 || index >= this._length) return void 0;
|
|
1567
1568
|
let current = this.head;
|
|
1568
|
-
for (let i = 0; i < index; i++) current = current.next;
|
|
1569
|
-
return current.value;
|
|
1569
|
+
for (let i = 0; i < index && current; i++) current = current.next;
|
|
1570
|
+
return current == null ? void 0 : current.value;
|
|
1570
1571
|
}
|
|
1571
1572
|
/**
|
|
1572
1573
|
* Get the node reference at a given index.
|
|
@@ -1577,7 +1578,7 @@ var _DoublyLinkedList = class _DoublyLinkedList extends LinearLinkedBase {
|
|
|
1577
1578
|
getNodeAt(index) {
|
|
1578
1579
|
if (index < 0 || index >= this._length) return void 0;
|
|
1579
1580
|
let current = this.head;
|
|
1580
|
-
for (let i = 0; i < index; i++) current = current.next;
|
|
1581
|
+
for (let i = 0; i < index && current; i++) current = current.next;
|
|
1581
1582
|
return current;
|
|
1582
1583
|
}
|
|
1583
1584
|
/**
|