Example #1
0
        /// <summary>
        /// 对每个元素执行一次操作
        /// </summary>
        /// <param name="func"></param>
        public void ForEach(ForEachFunc <T> func)
        {
            MultiLinkedListEnumerator iter = new MultiLinkedListEnumerator(this);

            while (iter.MoveNext())
            {
                func(ref iter.curNode.value);
            }
        }
Example #2
0
        /// <summary>
        /// 用遍历的方法获得节点在链表中的位置。
        /// 如果节点不在链表中,返回-1
        /// </summary>
        /// <param name="node"></param>
        /// <returns></returns>
        public int IndexOf(MultiLinkedListNode <T> node)
        {
            MultiLinkedListEnumerator iter = new MultiLinkedListEnumerator(this);

            int result = -1;

            while (iter.MoveNext())
            {
                result++;
                if (iter.curNode == node)
                {
                    return(result);
                }
            }
            return(-1);
        }