Mercurial > hg > Members > shoshi > TreeCMSv2
diff src/treecms/tree/util/PreorderTreewalker.java @ 6:12604eb6b615
added javadoc
author | shoshi |
---|---|
date | Mon, 14 Mar 2011 23:24:38 +0900 |
parents | 5fa718b63cd5 |
children |
line wrap: on
line diff
--- a/src/treecms/tree/util/PreorderTreewalker.java Tue Mar 01 01:29:59 2011 +0900 +++ b/src/treecms/tree/util/PreorderTreewalker.java Mon Mar 14 23:24:38 2011 +0900 @@ -4,16 +4,28 @@ import java.util.Stack; import treecms.api.Node; +/** + * 順序付き深さ優先探索で木構造を走査します.また,走査したイテレータを返します. + * @author shoshi + */ public class PreorderTreewalker implements Iterable<Node> { private Node m_root; + /** + * コンストラクタです. + * @param _root 木構造のルートノード + */ public PreorderTreewalker(Node _root) { m_root = _root; } + /** + * イテレータを返します. + * @return 順序付き深さ優先探索でのイテレータ + */ @Override public Iterator<Node> iterator() { @@ -29,7 +41,7 @@ { m_depth = new Stack<Pair<Node,Iterator<Node>>>(); m_next = m_root; - m_depth.add(new Pair<Node,Iterator<Node>>(m_next,m_next.getData().list().iterator())); // ワケがわからないよ! + m_depth.add(new Pair<Node,Iterator<Node>>(m_next,m_next.children().iterator())); // ワケがわからないよ! } @Override @@ -48,7 +60,7 @@ Iterator<Node> itr = context.m_right; if(itr.hasNext()){ m_next = itr.next(); - m_depth.add(new Pair<Node,Iterator<Node>>(m_next,m_next.getData().list().iterator())); // ワケがわからないよ! + m_depth.add(new Pair<Node,Iterator<Node>>(m_next,m_next.children().iterator())); // ワケがわからないよ! }else{ m_depth.pop(); while(!m_depth.isEmpty()){