JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 3839
  • Score
    100M100P100Q125239F
  • License MIT

stack implementation in javascript

Package Exports

  • @datastructures-js/stack

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@datastructures-js/stack) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

@datastructures-js/stack

build:? npm npm npm

A wrapper around javascript array push/pop with a standard stack interface.

Contents

Install

npm install --save @datastructures-js/stack

require

const { Stack } = require('@datastructures-js/stack');

import

import { Stack } from '@datastructures-js/stack';

API

constructor

JS
// empty stack
const stack = new Stack();

// from an array
const stack = new Stack([10, 3, 8, 40, 1]);
TS
// empty stack
const stack = new Stack<number>();

// from an array
const stack = new Stack<number>([10, 3, 8, 40, 1]);

Stack.fromArray(elements)

JS
// empty stack
const stack = Stack.fromArray([]);

// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray(list);

// If the list should not be mutated, use a copy of it.
const stack = Stack.fromArray(list.slice());
TS
// empty stack
const stack = Stack.fromArray<number>([]);

// with elements
const list = [10, 3, 8, 40, 1];
const stack = Stack.fromArray<number>([10, 3, 8, 40, 1]);

.push(element)

push an element to the top of the stack.

params return runtime
element: T Stack<T> O(1)
stack.push(11);

.peek()

returns the top element in the stack.

return runtime
T O(1)
console.log(stack.peek()); // 11

.pop()

removes and returns the top element of the stack.

return runtime
T O(1)
console.log(stack.pop()); // 11
console.log(stack.peek()); // null

.isEmpty()

checks if the stack is empty.

return runtime
boolean O(1)
stack.push(11);
console.log(stack.isEmpty()); // false

.size()

returns the number of elements in the stack.

return runtime
number O(1)
console.log(stack.size()); // 1

.clone()

creates a shallow copy of the stack.

return runtime
Stack<T> O(n)
const stack = Stack.fromArray([{ id: 2 }, { id: 4 } , { id: 8 }]);
const clone =  stack.clone();

clone.pop();

console.log(stack.peek()); // { id: 8 }
console.log(clone.peek()); // { id: 4 }

.toArray()

returns a copy of the remaining elements as an array.

return runtime
T[] O(n)
console.log(stack.toArray()); // [{ id: 2 }, { id: 4 } , { id: 8 }]

.clear()

clears all elements from the stack.

runtime
O(1)
stack.clear();
stack.size(); // 0

Build

grunt build

License

The MIT License. Full License is here