Read this in other languages: Русский
This library provides implementations of essential data structures: Linked List (List), Queue, and Stack. Each is exported as a function-class for convenient use.
First, install the library via NPM (if it's published) or clone the repository:
npm install xtitan-list
The List
implements most of the methods of JavaScript arrays, making it easy and intuitive to use.
push(element)
: Adds an element to the end of the list.pop()
: Removes the last element and returns it.unshift(element)
: Adds an element to the beginning of the list.shift()
: Removes the first element and returns it.indexOf(element)
: Returns the index of the specified element (or -1 if not found).splice(index, count, ...elements)
: Removes or adds elements at a specific index.at(index)
: Returns the element at the specified index (similar toarray.at()
).find({ element, callback })
: Finds an element by value or via a callback function.concat(collection)
: Merges the current list with another list or array.
sort()
: Sorts the list.reverse()
: Reverses the list.filter(callback)
: Filters the elements in the list.
import { List } from 'xtitan-list';
const list = new List();
list.push(1);
list.push(2);
list.push(3);
console.log(list.pop()); // 3
console.log(list.indexOf(2)); // 1
A Queue is a data structure that operates on the FIFO principle (First In, First Out).
enqueue(element)
(alias forpush
): Adds an element to the end of the queue.dequeue()
(alias forshift
): Removes the first element and returns it.peek()
: Returns the first element without removing it.
import { Queue } from 'xtitan-list';
const queue = new Queue();
queue.enqueue('A');
queue.enqueue('B');
console.log(queue.peek()); // 'A'
console.log(queue.dequeue()); // 'A'
console.log(queue.dequeue()); // 'B'
A Stack is a data structure that operates on the LIFO principle (Last In, First Out).
push(element)
(alias forunshift
): Adds an element to the beginning of the stack.pop()
(alias forshift
): Removes the first element and returns it.peek()
: Returns the first element without removing it.
import { Stack } from 'xtitan-list';
const stack = new Stack();
stack.push('X');
stack.push('Y');
console.log(stack.peek()); // 'Y'
console.log(stack.pop()); // 'Y'
console.log(stack.pop()); // 'X'
- Implementation of the
sort
,reverse
, andfilter
methods forList
. - Performance optimizations and addition of new features.
This project is licensed under the MIT License. See LICENSE for details.