diff --git a/index.js b/index.js index 0f4b28b4..e2e141a9 100644 --- a/index.js +++ b/index.js @@ -1,15 +1,35 @@ class SortedList { - constructor() {} + constructor(items, length) { + this.items = []; + this.length = this.items.length; + } - add(item) {} + add(item) { + this.items.push(item); + this.items.sort((a, b) => a - b); + this.length = this.items.length; + } - get(pos) {} + get(pos) { + if (pos < 0 || pos >= this.length) { + throw new Error("OutOfBounds"); + } + return this.items[pos]; + } - max() {} + max() { + if(this.length === 0) throw new Error("EmptySortedList"); + return this.items[this.length - 1] + } - min() {} + min() { + if(this.length === 0) throw new Error("EmptySortedList"); + return this.items[0] + } - sum() {} + sum() { + this.items.reduce((acc, number) => acc + number, 0) + } avg() {} }