Class LooselyLinkedList<T>
- Namespace
- NMF.Collections.Generic
- Assembly
- NMF.Collections.dll
Denotes a loosely linked list implementation
public class LooselyLinkedList<T> : ICollection<T>, IEnumerable<T>, IEnumerable
Type Parameters
T
The element type
- Inheritance
-
LooselyLinkedList<T>
- Implements
-
ICollection<T>IEnumerable<T>
- Inherited Members
Constructors
LooselyLinkedList()
Creates a new instance
public LooselyLinkedList()
Properties
Count
Gets the number of elements contained in the ICollection<T>.
public int Count { get; }
Property Value
- int
The number of elements contained in the ICollection<T>.
First
Gets the first node
public LooselyLinkedListNode<T> First { get; }
Property Value
IsReadOnly
Gets a value indicating whether the ICollection<T> is read-only.
public bool IsReadOnly { get; }
Property Value
- bool
true if the ICollection<T> is read-only; otherwise, false.
Last
Gets the last node
public LooselyLinkedListNode<T> Last { get; }
Property Value
Nodes
Gets all nodes
public IEnumerable<LooselyLinkedListNode<T>> Nodes { get; }
Property Value
Methods
Add(LooselyLinkedListNode<T>)
Adds the provided node
public void Add(LooselyLinkedListNode<T> newNode)
Parameters
newNode
LooselyLinkedListNode<T>The node to add
Add(T)
Adds an item to the ICollection<T>.
public void Add(T item)
Parameters
item
TThe object to add to the ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
AddAfter(LooselyLinkedListNode<T>, LooselyLinkedListNode<T>)
Adds the given node after the provided node
public void AddAfter(LooselyLinkedListNode<T> node, LooselyLinkedListNode<T> newNode)
Parameters
node
LooselyLinkedListNode<T>The node after which the new node should be added
newNode
LooselyLinkedListNode<T>The new node
Exceptions
- ArgumentNullException
Thrown if either is null
AddAfter(LooselyLinkedListNode<T>, T)
Adds the given value after the provided node
public void AddAfter(LooselyLinkedListNode<T> node, T value)
Parameters
node
LooselyLinkedListNode<T>The node after which the new node should be added
value
TThe value to add
AddFirst(LooselyLinkedListNode<T>)
Adds the given node at the beginning of the list
public void AddFirst(LooselyLinkedListNode<T> newNode)
Parameters
newNode
LooselyLinkedListNode<T>the node to add
Clear()
Removes all items from the ICollection<T>.
public void Clear()
Exceptions
- NotSupportedException
The ICollection<T> is read-only.
Contains(T)
Determines whether the ICollection<T> contains a specific value.
public bool Contains(T item)
Parameters
item
TThe object to locate in the ICollection<T>.
Returns
- bool
true if
item
is found in the ICollection<T>; otherwise, false.
CopyTo(T[], int)
Copies the elements of the ICollection<T> to an Array, starting at a particular Array index.
public void CopyTo(T[] array, int arrayIndex)
Parameters
array
T[]The one-dimensional Array that is the destination of the elements copied from ICollection<T>. The Array must have zero-based indexing.
arrayIndex
intThe zero-based index in
array
at which copying begins.
Exceptions
- ArgumentNullException
array
is null.- ArgumentOutOfRangeException
arrayIndex
is less than 0.- ArgumentException
The number of elements in the source ICollection<T> is greater than the available space from
arrayIndex
to the end of the destinationarray
.
CutAfter(LooselyLinkedListNode<T>)
Cut the linked list after the given node
public void CutAfter(LooselyLinkedListNode<T> node)
Parameters
node
LooselyLinkedListNode<T>The node of the linked list
Exceptions
- ArgumentNullException
Thrown if node is null
GetEnumerator()
Returns an enumerator that iterates through the collection.
public IEnumerator<T> GetEnumerator()
Returns
- IEnumerator<T>
An enumerator that can be used to iterate through the collection.
Remove(T)
Removes the first occurrence of a specific object from the ICollection<T>.
public bool Remove(T item)
Parameters
item
TThe object to remove from the ICollection<T>.
Returns
- bool
true if
item
was successfully removed from the ICollection<T>; otherwise, false. This method also returns false ifitem
is not found in the original ICollection<T>.
Exceptions
- NotSupportedException
The ICollection<T> is read-only.