@x-titan/list
v0.3.0
Published
This library provides implementations of essential data structures: Linked List (List), Queue, and Stack. Each is exported as a function-class for convenient use.
Readme
Data Structures Library: List, Queue, and Stack
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.
Installation
First, install the library via NPM (if it's published) or clone the repository:
npm install xtitan-listUsage
List
The List implements most of the methods of JavaScript arrays, making it easy and intuitive to use.
Supported Methods:
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.
Unimplemented Methods (in development):
sort(): Sorts the list.reverse(): Reverses the list.filter(callback): Filters the elements in the list.
Example:
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)); // 1Queue
A Queue is a data structure that operates on the FIFO principle (First In, First Out).
Supported Methods:
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.
Example:
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'Stack
A Stack is a data structure that operates on the LIFO principle (Last In, First Out).
Supported Methods:
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.
Example:
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'Future Plans
- Implementation of the
sort,reverse, andfiltermethods forList. - Performance optimizations and addition of new features.
License
This project is licensed under the MIT License. See LICENSE for details.
