Пример #1
0
        public int IndexOf(T item)
        {
            int index = 0;
            DoubleLinkedNode <T> p = head;

            while (p.Next != null)
            {
                if (item.Equals(p.Next.Item))//一旦找到匹配的就立刻退出函数
                {
                    return(index);
                }
                else
                {
                    index++;
                    p = p.Next;
                }
            }
            return(-1);
        }
Пример #2
0
 public virtual T this[int i]
 {
     get
     {
         if ((i < 0) || (i >= Count))
         {
             throw new IndexOutOfRangeException("Index is out of range " + this.GetType());
         }
         else
         {
             DoubleLinkedNode <T> p = head.Next;
             while (i > 0)
             {
                 p = p.Next;
                 i--;
             }
             return(p.Item);
         }
     }
 }
Пример #3
0
 public DoubleLinkedNode()
 {
     item  = default(T);
     front = next = null;
 }
Пример #4
0
 public DoubleLinkedNode(T k)
 {
     item  = k;
     front = next = null;
 }
Пример #5
0
 public DoubleLinkedList()
 {
     head = new DoubleLinkedNode <T>();
 }