searchtree.java

来自「A static analysis tool to find bugs in J」· Java 代码 · 共 86 行

JAVA
86
字号
/* * Generic graph library * Copyright (C) 2000,2003,2004 University of Maryland *  * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. *  * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU * Lesser General Public License for more details. *  * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */// $Revision: 1.6 $package edu.umd.cs.findbugs.graph;import java.util.ArrayList;import java.util.Iterator;import java.util.Set;/** * SearchTree represents a search tree produced by a graph * search algorithm, such as BreadthFirstSearch or DepthFirstSearch. */public class SearchTree <VertexType extends GraphVertex<VertexType>> {	private VertexType m_vertex;	private ArrayList<SearchTree<VertexType>> m_childList;	/**	 * Create a new search tree.	 */	public SearchTree(VertexType v) {		m_vertex = v;		m_childList = new ArrayList<SearchTree<VertexType>>();	}	/**	 * Get the vertex contained in this node.	 */	public VertexType getVertex() {		return m_vertex;	}	/**	 * Add a child search tree.	 */	public void addChild(SearchTree<VertexType> child) {		m_childList.add(child);	}	/**	 * Return collection of children of this search tree.	 * (Elements returned are also SearchTree objects).	 */	public Iterator<SearchTree<VertexType>> childIterator() {		return m_childList.iterator();	}	/**	 * Add all vertices contained in this search tree to the given	 * set.	 */	public void addVerticesToSet(Set<VertexType> set) {		// Add the vertex for this object		set.add(this.m_vertex);		// Add vertices for all children		Iterator<SearchTree<VertexType>> i = childIterator();		while (i.hasNext()) {			SearchTree<VertexType> child = i.next();			child.addVerticesToSet(set);		}	}}// vim:ts=4

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?