/// <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); } }
/// <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); }