Show / Hide Table of Contents

    Class DoublyLinkedList<T>

    A doubly linked list implementation.

    Inheritance
    Object
    DoublyLinkedList<T>
    Namespace: Advanced.Algorithms.DataStructures
    Assembly: Advanced.Algorithms.dll
    Syntax
    public class DoublyLinkedList<T> : IEnumerable<T>
    Type Parameters
    Name Description
    T

    Fields

    Head

    Declaration
    public DoublyLinkedListNode<T> Head
    Field Value
    Type Description
    DoublyLinkedListNode<T>

    Tail

    Declaration
    public DoublyLinkedListNode<T> Tail
    Field Value
    Type Description
    DoublyLinkedListNode<T>

    Methods

    Clear()

    Time complexity: O(1).

    Declaration
    public void Clear()

    Delete(T)

    Time complexity: O(n).

    Declaration
    public void Delete(T data)
    Parameters
    Type Name Description
    T data

    Delete(DoublyLinkedListNode<T>)

    Delete the given node. Time complexity: O(n).

    Declaration
    public void Delete(DoublyLinkedListNode<T> node)
    Parameters
    Type Name Description
    DoublyLinkedListNode<T> node

    DeleteFirst()

    Time complexity: O(1).

    Declaration
    public T DeleteFirst()
    Returns
    Type Description
    T

    DeleteLast()

    Delete tail node. Time complexity: O(1)

    Declaration
    public T DeleteLast()
    Returns
    Type Description
    T

    GetEnumerator()

    Declaration
    public IEnumerator<T> GetEnumerator()
    Returns
    Type Description
    IEnumerator<T>

    InsertAfter(DoublyLinkedListNode<T>, DoublyLinkedListNode<T>)

    Insert right after this node. Time complexity: O(1).

    Declaration
    public DoublyLinkedListNode<T> InsertAfter(DoublyLinkedListNode<T> node, DoublyLinkedListNode<T> data)
    Parameters
    Type Name Description
    DoublyLinkedListNode<T> node
    DoublyLinkedListNode<T> data
    Returns
    Type Description
    DoublyLinkedListNode<T>

    InsertBefore(DoublyLinkedListNode<T>, DoublyLinkedListNode<T>)

    Insert right before this node. Time complexity:O(1).

    Declaration
    public DoublyLinkedListNode<T> InsertBefore(DoublyLinkedListNode<T> node, DoublyLinkedListNode<T> data)
    Parameters
    Type Name Description
    DoublyLinkedListNode<T> node
    DoublyLinkedListNode<T> data
    Returns
    Type Description
    DoublyLinkedListNode<T>

    InsertFirst(T)

    Time complexity: O(1).

    Declaration
    public DoublyLinkedListNode<T> InsertFirst(T data)
    Parameters
    Type Name Description
    T data
    Returns
    Type Description
    DoublyLinkedListNode<T>

    The new node.

    InsertLast(T)

    Time complexity:O(1).

    Declaration
    public DoublyLinkedListNode<T> InsertLast(T data)
    Parameters
    Type Name Description
    T data
    Returns
    Type Description
    DoublyLinkedListNode<T>

    IsEmpty()

    Time complexity: O(1).

    Declaration
    public bool IsEmpty()
    Returns
    Type Description
    Boolean
    Back to top Generated by DocFX