1.1.2 • Published 8 years ago

node-single_linked_list v1.1.2

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

JS Test Task #1: Single Linke List Build Status

Single Linked List is dynamical data structure addon to JS that allows you to create linked and linked circular lists.

Note: circular lists is read-only

Module description

Initializing the list

const Node = require('node-single_linked_list').SingleLinkedList;
let root = new Node(0);

let root2 = new Node(0);
root2.addNode(1);
root2.addNode(0);

Adding extra nodes to the end of the list

root.addNode(15);
root.addNode({'foo':1,'bar':'tender'});

Getting elements value by index

root.getValue(1); //returns '15'

Make list circular (and read-only) or connect it with another list if you need it

This function always takes last element of the list and set next element link as pointer from parameters:

root.addNext(root); //now list is circular with tail-head connection

Count nodes from pointed position in list

Note: if list is circular function will return '-1'

Node.getNextTotal(root); //returns '-1'

Check if list is circular

This is static function that returns true/false if list circular or not and '-1' if pointer is wrong.

Node.isCircular(root); //returns 'true'

Check if list contains palindrome

This is static function that returns true/false if list contains palindrome or not and '-1' if pointer is wrong or function is circular.

Node.isPalindrome(root2); //returns 'true'

Remove duplicates from list

This is static function that removes duplicates from list (if exist) returns '0' if all ok and '-1' if pointer is wrong or list is circular.

Node.removeDuplicates(root2); //returns '0'
root2.getValue(2); //returns out of border error

Getting started

Install

npm install node-single_linked_list

Running tests

npm test

P.S.: for additional info see JSDocs