UNPKG

dl-doubly-linked-list-ts

Version:

A Typescript library for doubly linked-list implementation.

68 lines (49 loc) 1.84 kB
### Doubly Linked List for TypeScript A doubly linked-list implementation for TypeScript. ## Installation ### NPM ```sh npm install dl-doubly-linked-list-ts ``` ### Build ```sh tsc ``` Built JS files are in `./js`. ## Description ### Node A node is a vertex in the list, implemented in the `DLNode` class and has three fields: |Field|Type|Getter|Setter|Description| |-|-|-|-|-| |`data`|`T` (generic)|Yes|Yes|Data object contained in the node.| |`next`|`DLNode | null`|Yes|Yes|Reference to next node, `null` if its last node.| |`preious`|`DLNode | null`|Yes|Yes|Reference to previous node. `null` if its first node.| ### Doubly Linked List The doubly linked-list implementation is present in the `DoublyLinkedList` class. It has three fields: |Field|Type|Getter|Setter|Description| |-|-|-|-|-| |`length`|`number`|Yes|No|Number of nodes present in the list.| |`start`|`DLNode | null`|Yes|Yes|Reference to start node, `null` if list is empty.| |`end`|`DLNode | null`|Yes|Yes|Reference to last node. `null` if list is empty.| ## Documentation Please refer to `doc/index.html` for the complete documentation and API reference. The documentation for this project was generated using [Compodoc](https://compodoc.app/). ## Demo ```typescript import { DoublyLinkedList, DLNode } from "./node_modules/dl-doubly-linked-list"; let list : DoublyLinkedList<any> = new DoublyLinkedList(); let nodes : DLNode<any>[] = []; for(let i=0; i<10; i++) { nodes[i] = new DLNode(); nodes[i].data = i * i; list.insertStart(nodes[i]); } // Inserting new node at the end let newNode : DLNode<any> = new DLNode(); newNode.data = 300; list.insert( newNode, 6 ); // Deleting a node list.delete(4); // Get array of the nodes let array = list.toArray(); console.log(array); ```