Options
All
  • Public
  • Public/Protected
  • All
Menu

Class Deque<T>

A double ended queue using a double linked list, where .popLeft() and .appendLeft() will be a time complexity of O(1), as opposed to O(n) for .shift() and .unshift().

Example (es imports)

import { Deque } from 'spectrum-kit';

const deque = new Deque<number>([1, 2, 3]);

Example (commonjs)

var Deque = require('spectrum-kit').Deque;

var deque = new Deque<number>([1, 2, 3]);

Type parameters

  • T

    The type of the value stored in the deque

Hierarchy

  • Deque

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

  • new Deque(items?: T[]): Deque

Properties

Private _head

_head: DoubleLinkedListNode<T> | null

Private _size

_size: number

Private _tail

_tail: DoubleLinkedListNode<T> | null

Accessors

size

  • get size(): number

Methods

append

  • append(value: T): void
  • Append a value to the deque

    example
    es imports
    import { Deque } from 'spectrum-kit';
    
    const deque = new Deque<number>();
    
    deque.append(1);
    

    Parameters

    • value: T

      The value to append to the deque

    Returns void

appendLeft

  • appendLeft(value: T): void
  • Append a value to the start of the deque

    example
    es imports
    import { Deque } from 'spectrum-kit';
    
    const deque = new Deque<number>();
    
    deque.appendLeft(2);
    // 2
    deque.appendLeft(1);
    // 1<->2
    

    Parameters

    • value: T

      The value to append to the deque

    Returns void

clear

  • clear(): void
  • Clear the deque

    example
    es imports
    import { Deque } from 'spectrum-kit';
    
    const deque = new Deque<number>([1, 2, 3]);
    
    deque.clear();
    
    console.log(deque.size);
    // 0
    

    Returns void

extend

  • extend(items: T[]): void
  • Parameters

    • items: T[]

      items to extend the deque with

    Returns void

extendLeft

  • extendLeft(items: T[]): void
  • Parameters

    • items: T[]

      items to add to the front of the deque

    Returns void

pop

  • pop(): T | null
  • Pop the last value from the deque

    example
    es imports
    import { Deque } from 'spectrum-kit';
    
    const deque = new Deque<number>([1, 2, 3]);
    
    deque.pop();
    // 3
    

    Returns T | null

    The last value in the deque

popLeft

  • popLeft(): T | null
  • Pop the first value from the deque

    example
    es imports
    import { Deque } from 'spectrum-kit';
    
    const deque = new Deque<number>([1, 2, 3]);
    
    deque.popLeft();
    // 1
    

    Returns T | null

    The first value in the deque

Generated using TypeDoc