⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vertex.java

📁 赫夫曼编译码器: 用哈夫曼编码进行通信可以大大提高信道利用率
💻 JAVA
字号:
// Vertex base class, to be extended as needed.// (c) 1998, 2001 duane a. baileypackage structure;/** * A private implementation of a vertex for use in graphs.  A vertex * is capable of holding a label and has a flag that can be set   * to mark it as visited.    * <P> * Typical Usage: * <P> * <pre> *     Vertex v = new {@link #Vertex(Object) Vertex(someLabel)}; *     //...several graph related operations occur *     if(!v.{@link #isVisited()}){ *         Object label = v.label(); *         v.{@link #visit()}; *     } * </pre> * @see GraphListVertex * @see GraphMatrixVertex *         * @version $Id: Vertex.java,v 4.0 2000/12/27 20:57:33 bailey Exp bailey $ * @author, 2001 duane a. bailey */class Vertex{    /**     * A label associated with vertex.     */    protected Object label;	// the user's label    /**     * Whether or not a vertex has been visited.     */    protected boolean visited;	// this vertex visited    /**     * Construct a vertex with an associated label.     *     * @post constructs unvisited vertex with label     *      * @param label A label to be associated with vertex.     */    public Vertex(Object label)    {	Assert.pre(label != null, "Vertex key is non-null");	this.label = label;	visited = false;    }    /**     * Fetch the label associated with vertex.     *     * @post returns user label associated w/vertex     *      * @return The label associated with vertex.     */    public Object label()    {	return label;    }    /**     * Test and set the visited flag.     *     * @post returns, then marks vertex as being visited     *      * @return The value of the flag before marking     */    public boolean visit()    {	boolean was = visited;	visited = true;	return was;    }    /**     * Determine if the vertex has been visited.     *     * @post returns true iff vertex has been visited     *      * @return True iff the vertex has been visited.     */    public boolean isVisited()    {	return visited;    }     /**     * Clears the visited flag.     *     * @post marks vertex unvisited     */    public void reset()    {	visited = false;    }        /**     * Returns true iff the labels of two vertices are equal.     *     * @post returns true iff vertex labels are equal     *      * @param o Another vertex.     * @return True iff the vertex labels are equal.     */    public boolean equals(Object o)    {	Vertex v = (Vertex)o;	return label.equals(v.label());    }    /**     * Return a hashcode associated with the vertex.     *     * @post returns hash code for vertex     *      * @return An integer for use in hashing values into tables.     */    public int hashCode()    {	return label.hashCode();    }    /**     * Construct a string representing vertex.     *     * @post returns string representation of vertex     *      * @return A string representing vertex.     */    public String toString()    {	return "<Vertex: "+label+">";    }}  

⌨️ 快捷键说明

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