README
@datastructures-js/stack
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