//전위 순회 Enumerator public IEnumerator GetEnumerator() { head.unvisit(); now = head; while (true) { if (!now.isVisited) { now.isVisited = true; yield return(now); } GolLangNode temp = now.getFirstUnvisitedChild(); if (temp != null) { now = temp; } else if (now.hasRightSibling()) { now = now.rightSibling; } else if (now.parents != null) { now = now.parents; } else { break; } } }