📄 path.java
字号:
/*
*
* Copyright (c) 2004-2008 Arizona State University. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY ARIZONA STATE UNIVERSITY ``AS IS'' AND
* ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ARIZONA STATE UNIVERSITY
* NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
package edu.asu.emit.qyan.alg.model;
import java.util.List;
import java.util.Vector;
import edu.asu.emit.qyan.alg.model.abstracts.BaseVertex;
/**
* @author <a href='mailto:Yan.Qi@asu.edu'>Yan Qi</a>
* @version $Revision: 430 $
* @latest $Date: 2008-07-27 16:31:56 -0700 (Sun, 27 Jul 2008) $
*/
public class Path implements Comparable<Path>
{
List<BaseVertex> _vertex_list = new Vector<BaseVertex>();
double _weight = -1;
public Path(){};
public Path(List<BaseVertex> _vertex_list, double _weight)
{
this._vertex_list = _vertex_list;
this._weight = _weight;
}
public double get_weight()
{
return _weight;
}
public void set_weight(double weight)
{
_weight = weight;
}
public List<BaseVertex> get_vertices()
{
return _vertex_list;
}
/* (non-Javadoc)
* @see java.lang.Object#equals(java.lang.Object)
*/
@Override
public boolean equals(Object right)
{
if(right instanceof Path)
{
Path r_path = (Path) right;
return _vertex_list.equals(r_path._vertex_list);
}
return false;
}
/* (non-Javadoc)
* @see java.lang.Object#hashCode()
*/
@Override
public int hashCode()
{
return _vertex_list.hashCode();
}
/**
* TODO there could be a bug hidden below!
*/
public int compareTo(Path r_path)
{
double diff = this._weight - r_path._weight;
if(diff > 0)
{
return 1;
}else if(diff < 0)
{
return -1;
}else
{
return 0;
}
}
public String toString()
{
return _vertex_list.toString()+":"+_weight;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -