Linked list element class, contains data node and next pointer (element).
var elem = new LinkedListElement(15);
var elem2 = new LinkedListElement(30, elem);
console.log(elem2.next.data); // 15
Type: LinkedListElement<T>
Converts current element and all next elements in json format.
LinkedListElementStruct<T>
:
valid json object.
var elem = new LinkedListElement(30);
var elem2 = new LinkedListElement(15, elem);
elem2.toJSON(); // =>
{
"data": 15,
"next": {
"data": 30,
"next": null
}
}
Returns javascript root object form of the linked list.
LinkedListElementStruct<T>
:
Returns javascript root object form of the linked list.
var lList = new LinkedList(1);
lList.push(2);
lList.toJSON(); // => { data: 1, next: { data: 2, next: null } }
Converts current element and all next elements in string format.
string
:
valid string.
var elem = new LinkedListElement(30);
var elem2 = new LinkedListElement(15, elem);
elem2.toString(); // => 1530
Returns string form of the linked list.
string
:
Returns string form of the linked list.
var lList = new LinkedList(1);
lList.push(2);
lList.toString(); // => "12"
Main Linked List class, contains start node and basically the whole list.
var lList = new LinkedList(10);
lList.insert(20);
lList.insert(30);
lList.delete(30);
lList.toArray(); // => [10,20]
Standard Iterator.
IterableIterator<T>
:
Iterables of element values.
var lList = LinkedList.fromArray([1, 2, 3]);
for (const item of lList.entries()) {
console.log(item); // => 1...2...3
}
Reduces each element value using reduceFunction and returns final value.
(any)
(T2
= 0
)
Optional, Accumulator/Initial value.
T2
:
Returns reduced value
var lList = LinkedList.fromArray([10, 20, 30, 40]);
var sum = lList.reduce((acc, elem) => acc + elem); // => 100
Inserts the given element at the end of the Linked List.
(T)
New element to be inserted.
LinkedListElement<T>
:
newly added element instance.
var lList = new LinkedList(30);
lList.insert(15);
lList.insert(60);
Pushes the given element at the end of the Linked List.
(T)
New element to be pushed.
LinkedListElement<T>
:
newly added element instance.
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
Deletes the given element if present and returns element instance otherwise returns null.
(T)
New element to be pushed.
(LinkedListElement<T> | null)
:
Returns deleted elemnt or null.
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.delete(15); // => { data: 15, next: null }
elem.delete(50); // null
Removes last element in the linked list and returns it.
(LinkedListElement<T> | null)
:
Returns deleted elemnt or null.
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.pop(15); // => { data: 15, next: null }
elem.pop(60); // null
Checks for given item in the entire list and returns true if available.
(T)
New element to be checked.
boolean
:
newly added element instance.
var elem = new LinkedList(30);
elem.insert(15);
elem.insert(60);
elem.has(15); // true
elem.has(50); // false
Traverses the whole list and calls given callback function for each element.
void
:
Returns undefined.
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.traverse(dataPrinter); // => 15...20
Returns an iterable of key, value pairs for element in the Linked List.
IterableIterator<[number, T]>
:
Iterables of index keys and values.
var lList = LinkedList.fromArray([1, 2, 3]);
for (const [index, item] of lList.entries()) {
console.log(index, item); // => 0 1...1 2...2 3
}
Traverses the whole list and calls given callback function for each element.
void
:
Returns undefined.
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.each(dataPrinter); // => 15...20
Traverses the whole list and calls given callback function for each element.
void
:
Returns undefined.
var dataPrinter = (el) => { console.log(el.data); };
var lList = new LinkedList(15);
lList.insert(30);
lList.forEach(dataPrinter); // => 15...20
Maps current linked list values to a new linked list with modifying the values using given callback function. Uses BFS.
LinkedList<T>
:
A newly mapped linked list.
var lList = LinkedList.fromArray([10, 20, 30, 40]);
var lList2 = lList.map(n => n * 2);
var arr2 = lList2.toArray(); // [20, 40, 60, 80]
Filters each item based on given filter function and returns new linked list. If no value is filtered then returns null.
(LinkedList<T> | null)
:
New filtered instance of tree or null.
var lList = LinkedList.fromArray([10, 20, 30, 40]);
var lList2 = lList.filter(n => !!(n % 4 === 0));
var arr2 = lList2.toArray(); // [20, 40]
Returns element at given location.
(number)
Index to find the element.
var lList = new LinkedList(15);
lList.insert(30);
lList.insert(45);
lList.get(2); // => 45
Returns array form of the linked list.
Array<T>
:
Returns array form of the linked list.
var lList = new LinkedList(1);
lList.push(2);
lList.push(3);
lList.toArray(); // => [1, 2, 3]
A static method, Creates a Linked List instance from given array.
(Array<T>)
Array of elements.
LinkedList<T>
:
Returns new linked list instance with all elements in array.
var lList = LinkedList.fromArray([1, 2, 3]);
lList.length; // => 3