tsp.c

来自「暴力破解TSP中国邮递员问题的程序。使用数据为Oliver30.tsp」· C语言 代码 · 共 47 行

C
47
字号
/*
      ANT-CYCLE ALGORITHM FOR TSP
      File:    tsp.c
      Author:  ehui928
      Purpose: implementation of tsp.h
      Date:		2007-01-18
*/

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include "tsp.h"


extern double distances[CITY_NUM+1][CITY_NUM+1];

double Euclid_distance(Point p1, Point p2)
{
    double a = p1.x - p2.x;
    double b = p1.y - p2.y;

    return (double)sqrt(a * a + b * b);
}

void caculate_distances(Point *p)
{
    int i, j;

    for (i = 1; i <= CITY_NUM; i++)
        for (j = 1; j <= CITY_NUM; j++)
        {
            if (i != j)
                distances[i][j] = Euclid_distance(p[i], p[j]);
        }
}


/* test if distances were caculated correctly */
void print_distance()
{
    int i, j;
    i = 1;
    for (j = 1; j < CITY_NUM+1; j++)
        printf("d[%d][%d] = %f\n", i, j, distances[i][j]);


}

⌨️ 快捷键说明

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