UNPKG

dl-doubly-linked-list-ts

Version:

A Typescript library for doubly linked-list implementation.

147 lines (115 loc) 5.64 kB
<!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>dl-doubly-linked-list-ts documentation</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="./images/favicon.ico"> <link rel="stylesheet" href="./styles/style.css"> </head> <body> <div class="navbar navbar-default navbar-fixed-top visible-xs"> <a href="./" class="navbar-brand">dl-doubly-linked-list-ts documentation</a> <button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button> </div> <div class="xs-menu menu" id="mobile-menu"> <div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu> </div> <div class="container-fluid main"> <div class="row main"> <div class="hidden-xs menu"> <compodoc-menu mode="normal"></compodoc-menu> </div> <!-- START CONTENT --> <div class="content getting-started"> <div class="content-data"> <h3 id="doubly-linked-list-for-typescript">Doubly Linked List for TypeScript</h3> <p>A doubly linked-list implementation for TypeScript.</p> <h2 id="installation">Installation</h2> <h3 id="npm">NPM</h3> <p><code>sh npm install dl-doubly-linked-list</code></p> <h3 id="build">Build</h3> <p><code>sh tsc</code> Built JS files are in <code>./js</code>.</p> <h2 id="description">Description</h2> <h3 id="node">Node</h3> <p>A node is a vertex in the list, implemented in the <code>DLNode</code> class and has three fields:</p> <p>|Field|Type|Getter|Setter|Description| |-|-|-|-|-| |<code>data</code>|<code>T</code> (generic)|Yes|Yes|Data object contained in the node.| |<code>next</code>|<code>DLNode | null</code>|Yes|Yes|Reference to next node, <code>null</code> if its last node.| |<code>preious</code>|<code>DLNode | null</code>|Yes|Yes|Reference to previous node. <code>null</code> if its first node.|</p> <h3 id="doubly-linked-list">Doubly Linked List</h3> <p>The doubly linked-list implementation is present in the <code>DoublyLinkedList</code> class. It has three fields:</p> <p>|Field|Type|Getter|Setter|Description| |-|-|-|-|-| |<code>length</code>|<code>number</code>|Yes|No|Number of nodes present in the list.| |<code>start</code>|<code>DLNode | null</code>|Yes|Yes|Reference to start node, <code>null</code> if list is empty.| |<code>end</code>|<code>DLNode | null</code>|Yes|Yes|Reference to last node. <code>null</code> if list is empty.|</p> <h2 id="documentation">Documentation</h2> <p>Please refer to <code>doc/index.html</code> for the complete documentation and API reference. The documentation for this project was generated using <a href="https://compodoc.app/">Compodoc</a>.</p> <h2 id="demo">Demo</h2> <p>```typescript import { DoublyLinkedList, DLNode } from &quot;./node_modules/dl-doubly-linked-list&quot;;</p> <p>let list : DoublyLinkedList<any> = new DoublyLinkedList();</p> <p>let nodes : DLNode<any>[] = []; for(let i=0; i&lt;10; i++) { nodes[i] = new DLNode(); nodes[i].data = i * i; list.insertStart(nodes[i]); }</p> <p>// Inserting new node at the end let newNode : DLNode<any> = new DLNode(); newNode.data = 300; list.insert( newNode, 6 );</p> <p>// Deleting a node list.delete(4);</p> <p>// Get array of the nodes let array = list.toArray();</p> <p>console.log(array); ```</p> </div><div class="search-results"> <div class="has-results"> <h1 class="search-results-title"><span class='search-results-count'></span> result-matching "<span class='search-query'></span>"</h1> <ul class="search-results-list"></ul> </div> <div class="no-results"> <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1> </div> </div> </div> <!-- END CONTENT --> </div> </div> <script> var COMPODOC_CURRENT_PAGE_DEPTH = 0; var COMPODOC_CURRENT_PAGE_CONTEXT = 'getting-started'; var COMPODOC_CURRENT_PAGE_URL = 'index.html'; </script> <script src="./js/libs/custom-elements.min.js"></script> <script src="./js/libs/lit-html.js"></script> <!-- Required to polyfill modern browsers as code is ES5 for IE... --> <script src="./js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script> <script src="./js/menu-wc.js" defer></script> <script src="./js/libs/bootstrap-native.js"></script> <script src="./js/libs/es6-shim.min.js"></script> <script src="./js/libs/EventDispatcher.js"></script> <script src="./js/libs/promise.min.js"></script> <script src="./js/libs/zepto.min.js"></script> <script src="./js/compodoc.js"></script> <script src="./js/tabs.js"></script> <script src="./js/menu.js"></script> <script src="./js/libs/clipboard.min.js"></script> <script src="./js/libs/prism.js"></script> <script src="./js/sourceCode.js"></script> <script src="./js/search/search.js"></script> <script src="./js/search/lunr.min.js"></script> <script src="./js/search/search-lunr.js"></script> <script src="./js/search/search_index.js"></script> <script src="./js/lazy-load-graphs.js"></script> </body> </html>