dl-doubly-linked-list-ts

1.0.3 • Public • Published

Doubly Linked List for TypeScript

A doubly linked-list implementation for TypeScript.

Installation

NPM

npm install dl-doubly-linked-list-ts

Build

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.

Demo

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);

Package Sidebar

Install

npm i dl-doubly-linked-list-ts

Weekly Downloads

48

Version

1.0.3

License

MIT

Unpacked Size

2.73 MB

Total Files

89

Last publish

Collaborators

  • damelyngdoh