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

📄 shellsorter.java

📁 利用遗传算法解决TSP旅行商问题的Java原码
💻 JAVA
字号:
public class ShellSorter extends Sorter
{

	/**
	*method:getvalue()
	*param:
	*return: double
	*/
	private  double getvalue(CityMap[] cm)
	{
		//CityMap[] cm=new CityMap[GENE_NUMBER];
		//cm=citymap;
		double routevalue=0.0;
		double px,py,qx,qy;
		for (int i=0;i<cm.length-1;i++)
		{
			px=cm[i].getxpos();
			py=cm[i].getypos();
			qx=cm[i+1].getxpos();
			qy=cm[i+1].getypos();
			routevalue+=Math.pow((Math.pow(qx-px,2.0)+Math.pow(qy-py,2.0)),0.5);
		}
		double first_end;
		px=cm[0].getxpos();
		py=cm[0].getypos();
		qx=cm[cm.length-1].getxpos();
		qy=cm[cm.length-1].getypos();
		first_end=Math.pow((Math.pow(qx-px,2.0)+Math.pow(qy-py,2.0)),0.5);
		return routevalue+first_end;

	}
	//

	public void Sort(Object []list,SortTool tool,boolean descending)
	{
		int inc,comp;
		if (descending)
		{
			comp=SortTool.COMP_GRTR;
		}
		else
		{
			comp=SortTool.COMP_LESS;
		}

		//
		for (inc=1;inc<=list.length/9;inc=3*inc+1);
		
		for (;inc>0;inc/=3)
		{
			for (int i=inc+1;i<=list.length;i+=inc)
			{
				CityMap[] t=(CityMap[])list[i-1];
				int j=i;
				while ((j>inc)&&(tool.compare(getvalue((CityMap[])list[j-inc-1]),getvalue(t))==comp))
				{
					list[j-1]=list[j-inc-1];
					j-=inc;
				}
				list[j-1]=t;
			}

		}
	}
};

⌨️ 快捷键说明

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