From 41309f421ee5f0b09f5fe8d596e87c8cc0dcd884 Mon Sep 17 00:00:00 2001 From: Yamiqu Date: Tue, 19 Jul 2022 23:37:40 +0800 Subject: [PATCH] fix: access out-of-bounds --- .../src/js/data-structures/circular-linked-list.js | 8 ++++---- .../src/ts/data-structures/circular-linked-list.ts | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/js/data-structures/circular-linked-list.js b/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/js/data-structures/circular-linked-list.js index cc56555..c96d420 100755 --- a/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/js/data-structures/circular-linked-list.js +++ b/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/js/data-structures/circular-linked-list.js @@ -1,6 +1,6 @@ -import { defaultEquals } from '../util'; -import LinkedList from './linked-list'; -import { Node } from './models/linked-list-models'; +import { defaultEquals } from "../util"; +import LinkedList from "./linked-list"; +import { Node } from "./models/linked-list-models"; export default class CircularLinkedList extends LinkedList { constructor(equalsFn = defaultEquals) { @@ -30,7 +30,7 @@ export default class CircularLinkedList extends LinkedList { node.next = this.head; } else { node.next = current; - current = this.getElementAt(this.size()); + current = this.getElementAt(this.size() - 1); // update last element this.head = node; current.next = this.head; diff --git a/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/ts/data-structures/circular-linked-list.ts b/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/ts/data-structures/circular-linked-list.ts index f422d27..efa186d 100755 --- a/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/ts/data-structures/circular-linked-list.ts +++ b/LearningJavaScriptDataStructuresandAlgorithmsThirdEdition_Code/src/ts/data-structures/circular-linked-list.ts @@ -1,6 +1,6 @@ -import { defaultEquals, IEqualsFunction } from '../util'; -import LinkedList from './linked-list'; -import { Node } from './models/linked-list-models'; +import { defaultEquals, IEqualsFunction } from "../util"; +import LinkedList from "./linked-list"; +import { Node } from "./models/linked-list-models"; export default class CircularLinkedList extends LinkedList { constructor(protected equalsFn: IEqualsFunction = defaultEquals) { @@ -36,7 +36,7 @@ export default class CircularLinkedList extends LinkedList { node.next = this.head; } else { node.next = current; - current = this.getElementAt(this.size()); + current = this.getElementAt(this.size() - 1); // update last element this.head = node; current.next = this.head;