ml-tree-set
v0.1.1
Published
A JavaScript emulator of the TreeSet Java class
Downloads
4,585
Maintainers
Readme
tree-set
A JavaScript emulator of the TreeSet Java class
Installation
$ npm install ml-tree-set
Documentation
TreeSet allows to create a sorted array of objects by adding each new element in order, according with the comparator function
.
TreeSet does not really implements a tree to maintain the order. It just add the elements in the correct place in the array.
Nevertheless adding, removing or finding an element is guaranteed to be performed in log(n).
Unlike the other binary-tree implementations available in npm, this one allows repeated keys.
###constructor(comparator):
Create a new TreeSet object. The comparator gives the order to the set. By default it is the natural comparator
function(a, b){ return a - b };
add(element):
Add an element to the sorted list
size():
Return the number of elements in the set
last():
Return the last element of the sorted list
first():
Return the first element of the sorted list
pollLast():
Return and removes the last element of the sorted list
pollFirst():
Return and removes the first element of the sorted list
binarySearch(element):
Performs a binary search of value in array
##Example
const myList = new TreeSet(function( a, b){ return a.index - b.index; });
myList.add({index:0,value:"a"});
myList.add({index:3,value:"d"});
myList.add({index:2,value:"c"});
myList.pollFirst();
myList.add({index:1,value:"b"});
//The myList.elements should be: [{index:1,value:"b"},{index:2,value:"c"},{index:3,value:"d"}]);
//myList.size() should be equal to 3;