예제 #1
0
 void Clear()
 {
     m_beginMarker        = new NodeADT <T>(default(T), null, null);
     m_endMarker          = new NodeADT <T>(default(T), m_beginMarker, null);
     m_beginMarker.m_next = m_endMarker;
     m_theSize            = 0;
 }
예제 #2
0
    void AddBefore(NodeADT <T> p, T x)
    {
        NodeADT <T> newNode = new NodeADT <T>(x, p.m_prev, p);

        newNode.m_prev.m_next = newNode;
        p.m_prev = newNode;
        m_theSize++;
    }
예제 #3
0
 public NodeADT(T d, NodeADT <T> p, NodeADT <T> n)
 {
     m_data = d;
     m_prev = p;
     m_next = n;
 }
예제 #4
0
 void Remove(NodeADT <T> p)
 {
     p.m_next.m_prev = p.m_prev;
     p.m_prev.m_next = p.m_next;
     m_theSize--;
 }
예제 #5
0
    void Set(int idx, T newVal)
    {
        NodeADT <T> p = GetNode(idx);

        p.m_data = newVal;
    }