heap-data-structure/specification

View on GitHub
src/adt/DummyHeapWithoutReferences.js

Summary

Maintainability
A
3 hrs
Test Coverage
export function DummyHeapWithoutReferences(compare) {
    this.compare = compare;
    this.array = [];
    this.length = 0;
}

DummyHeapWithoutReferences.prototype.head = function () {
    if (this.length === 0) return undefined;

    return this.array[0];
};

DummyHeapWithoutReferences.prototype.pop = function () {
    if (this.length === 0) return undefined;

    --this.length;
    return this.array.shift();
};

DummyHeapWithoutReferences.prototype.push = function (value) {
    this.array.push(value);

    this.array.sort(this.compare);

    ++this.length;
};

DummyHeapWithoutReferences.prototype.merge = function (other) {
    this.array = this.array.concat(other.array).sort(this.compare);

    this.length += other.length;
};