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

📄 hamiltonsort.java

📁 用Java开发的实用数学建模程序 简单易懂 初学者可以用来学习java知识
💻 JAVA
字号:
/*
 *@(#)HamiltonSort.java 2.0 2005/05/03
 *
 *清华大学 精密仪器与机械学系
 *范灿升 fancansheng@163.com
 */

package algorithm;

import java.util.Comparator;

/**
 *这个类对旅行商问题中完全图的边进行排序,是实现排序的一个类。
 *<p>算法只要求图是无向完全图,对边权的正负不作规定。
 *<p>只有对边完成排序后,旅行商问题才可能用分支与界法进行求解。
 *@version	2.0, 2005/05/03
 *@author	范灿升
 *@see	GraphTheory
 */

public class HamiltonSort implements Comparator
{
	public HamiltonSort(){}
	
	/**
	 *对o1、o1进行排序。
	 *<p>o1和o2都必须是int[]类。
	 *<p>每个int[]的长度为5,即该int[]有四个元素:int[0]、int[1]、int[2]、int[3]、int[4]。
	 *<p>其中int[0]是边权(可正可负,但一般为正),int[1]、int[2]是int[0]对应边的两个结点,
	 *int[3]是排好序后被赋值的序号位。int[4]表示由边生成路径时是否已作标记。
	 *<p>影响排序的只有int[0]。
	 *@param	o1	待比较的第一个int[]类
	 *@param	o2	待比较的第二个int[]类
	 *@return	-1:当int1[0]小于int2[0]时
	 *			<p>0:当int1[0]等于int2[0]时
	 *			<p>1:当int1[0]大于int2[0]时
	 */
	public int compare(Object o1,Object o2)
	{
		int edge1=((int[])o1)[0];
		int edge2=((int[])o2)[0];
		if(edge1<edge2)
			return -1;
		else if(edge1==edge2)
			return 0;
		else
			return 1;
	}
}

⌨️ 快捷键说明

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