LinkedLists¶
Usage
use LinkedLists;
or
import LinkedLists;
This module provides a simple singly linked list.
Note
This module is expected to change in the future.
- record LinkedList¶
A singly linked list.
Note
destroy
must be called to reclaim any memory used by the list.- type eltType¶
The type of the data stored in every node.
- var size: int¶
The number of nodes in the list.
- iter these()¶
Iterate over the list, yielding each element.
- Yield type
eltType
- proc append(e: eltType)¶
Append e to the list.
- proc push_back(e: eltType)¶
Synonym for append.
- proc append(e: eltType, es: eltType ...?k)
Append all of the supplied arguments to the list.
- proc prepend(e: eltType)¶
Prepend e to the list.
- proc push_front(e: eltType)¶
Synonym for prepend.
- proc concat(l: LinkedList(eltType))¶
Append all the elements in l to the end of the list.
- proc remove(x: eltType)¶
Remove the first encountered instance of x from the list. Does nothing if x is not present in the list.
- proc pop_front(): eltType¶
Remove the first element from the list and return it. It is an error to call this function on an empty list.
- proc contains(const e: eltType): bool¶
Returns true if this list contains an element equal to the value of e. Returns false otherwise.
- Arguments
e – The element search for
- Returns
true if the e was found
- Return type
bool
- proc ref first() ref: eltType¶
Returns a reference to the first item in the list
Warning
Calling this method on an empty list will cause the currently running program to halt. If the –fast flag is used, no safety checks will be performed
- Returns
a reference to the first item in the list
- Return type
ref eltType
- proc ref last() ref: eltType¶
Returns a reference to the last item in the list
Warning
Calling this method on an empty list will cause the currently running program to halt. If the –fast flag is used, no safety checks will be performed
- Returns
a reference to the last item in the list
- Return type
ref eltType
- proc destroy()¶
Delete every node in the list.
- proc makeList(x ...?k)¶
Initialize a new
LinkedList
containing all of the supplied arguments.- Arguments
x : T – Every argument must be of type T.
- Return type
LinkedList(T)