亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tsp.c

?? 掌握如何用C來實現各種算法
?? C
字號:
/*****************************************************************************
*                                                                            *
*  --------------------------------- tsp.c --------------------------------  *
*                                                                            *
*****************************************************************************/

#include <float.h>
#include <math.h>
#include <stdlib.h>

#include "graph.h"
#include "graphalg.h"
#include "list.h"

/*****************************************************************************
*                                                                            *
*  ---------------------------------- tsp ---------------------------------  *
*                                                                            *
*****************************************************************************/

int tsp(List *vertices, const TspVertex *start, List *tour, int (*match)
   (const void *key1, const void *key2)) {

TspVertex          *tsp_vertex,
                   *tsp_start,
                   *selection;

ListElmt           *element;

double             minimum,
                   distance,
                   x,
                   y;

int                found,
                   i;

/*****************************************************************************
*                                                                            *
*  Initialize the list for the tour.                                         *
*                                                                            *
*****************************************************************************/

list_init(tour, NULL);

/*****************************************************************************
*                                                                            *
*  Initialize all of the vertices in the graph.                              *
*                                                                            *
*****************************************************************************/

found = 0;

for (element = list_head(vertices); element != NULL; element =
   list_next(element)) {

   tsp_vertex = list_data(element);

   if (match(tsp_vertex, start)) {

      /***********************************************************************
      *                                                                      *
      *  Start the tour at the start vertex.                                 *
      *                                                                      *
      ***********************************************************************/

      if (list_ins_next(tour, list_tail(tour), tsp_vertex) != 0) {

         list_destroy(tour);
         return -1;

      }

      /***********************************************************************
      *                                                                      *
      *  Save the start vertex and its coordinates.                          *
      *                                                                      *
      ***********************************************************************/

      tsp_start = tsp_vertex;
      x = tsp_vertex->x;
      y = tsp_vertex->y;

      /***********************************************************************
      *                                                                      *
      *  Color the start vertex black.                                       *
      *                                                                      *
      ***********************************************************************/

      tsp_vertex->color = black;
      found = 1;

      }

   else {

      /***********************************************************************
      *                                                                      *
      *  Color all other vertices white.                                     *
      *                                                                      *
      ***********************************************************************/

      tsp_vertex->color = white;

   }

}

/*****************************************************************************
*                                                                            *
*  Return if the start vertex was not found.                                 *
*                                                                            *
*****************************************************************************/

if (!found) {

   list_destroy(tour);
   return -1;

}

/*****************************************************************************
*                                                                            *
*  Use the nearest-neighbor heuristic to compute the tour.                   *
*                                                                            *
*****************************************************************************/

i = 0;

while (i < list_size(vertices) - 1) {

   /**************************************************************************
   *                                                                         *
   *  Select the white vertex closest to the previous vertex in the tour.    *
   *                                                                         *
   **************************************************************************/

   minimum = DBL_MAX;

   for (element = list_head(vertices); element != NULL; element =
      list_next(element)) {

      tsp_vertex = list_data(element);

      if (tsp_vertex->color == white) {

         distance = sqrt(pow(tsp_vertex->x-x,2.0) + pow(tsp_vertex->y-y,2.0));

         if (distance < minimum) {

            minimum = distance;
            selection = tsp_vertex;

         }

      }

   }

   /**************************************************************************
   *                                                                         *
   *  Save the coordinates of the selected vertex.                           *
   *                                                                         *
   **************************************************************************/

   x = selection->x;
   y = selection->y;

   /**************************************************************************
   *                                                                         *
   *  Color the selected vertex black.                                       *
   *                                                                         *
   **************************************************************************/

   selection->color = black;

   /**************************************************************************
   *                                                                         *
   *  Insert the selected vertex into the tour.                              *
   *                                                                         *
   **************************************************************************/

   if (list_ins_next(tour, list_tail(tour), selection) != 0) {

      list_destroy(tour);
      return -1;

   }

   /**************************************************************************
   *                                                                         *
   *  Prepare to select the next vertex.                                     *
   *                                                                         *
   **************************************************************************/

   i++;

}

/*****************************************************************************
*                                                                            *
*  Insert the start vertex again to complete the tour.                       *
*                                                                            *
*****************************************************************************/

if (list_ins_next(tour, list_tail(tour), tsp_start) != 0) {

   list_destroy(tour);
   return -1;

}

return 0;

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区日韩av| 日韩av一级片| 麻豆91免费观看| 成人妖精视频yjsp地址| 91精品国产麻豆国产自产在线 | 国产在线播放一区三区四| 一本色道a无线码一区v| 国产亚洲一区二区在线观看| 婷婷成人激情在线网| 91麻豆文化传媒在线观看| 久久久久国产精品麻豆| 日本不卡视频在线| 欧美日韩免费一区二区三区视频| 国产精品另类一区| 国产精品香蕉一区二区三区| 日韩欧美国产电影| 日本欧美在线观看| 欧美三级视频在线| 亚洲国产日韩在线一区模特| 91麻豆精品视频| 18涩涩午夜精品.www| 国产凹凸在线观看一区二区| 精品国内二区三区| 国产综合色产在线精品| 日韩美女视频一区二区在线观看| 午夜精品一区二区三区免费视频| 色综合视频在线观看| 国产精品国产三级国产a| 成人app下载| 亚洲日本青草视频在线怡红院| 国产91精品露脸国语对白| 国产农村妇女毛片精品久久麻豆| 国产精品99久久久久久久vr| 国产欧美1区2区3区| 成人国产在线观看| 亚洲欧洲av在线| 色悠久久久久综合欧美99| 亚洲成av人片在线| 日韩欧美国产综合| 国产成人在线视频播放| 国产精品嫩草99a| 在线看不卡av| 日韩不卡免费视频| 久久亚洲欧美国产精品乐播 | 中文字幕二三区不卡| 国产精品1区2区| 国产精品午夜久久| 色悠久久久久综合欧美99| 亚洲h在线观看| 亚洲精品一线二线三线| 国产69精品一区二区亚洲孕妇| 国产精品不卡一区二区三区| 色婷婷国产精品综合在线观看| 亚洲成av人综合在线观看| 日韩视频免费观看高清在线视频| 国产精品自拍av| 亚洲女爱视频在线| 欧美一区欧美二区| 成人免费毛片app| 亚洲午夜三级在线| 久久久久9999亚洲精品| 一本久道中文字幕精品亚洲嫩| 丝袜美腿一区二区三区| 国产日韩av一区二区| 欧美日韩中文字幕一区| 国产高清精品久久久久| 亚洲成人av免费| 中文字幕不卡的av| 在线不卡中文字幕| 99riav久久精品riav| 日本91福利区| 亚洲欧美日韩系列| 国产三级精品视频| 在线91免费看| 99国产欧美另类久久久精品| 热久久一区二区| 一区二区三区精品视频在线| 久久久久久久久久美女| 欧美精品久久一区二区三区| 成人精品一区二区三区四区| 日本一区中文字幕| 亚洲乱码国产乱码精品精的特点| 久久综合资源网| 欧美精品久久一区| 91久久精品网| 97aⅴ精品视频一二三区| 久久狠狠亚洲综合| 爽爽淫人综合网网站| 亚洲靠逼com| 国产精品欧美极品| 久久久久高清精品| 精品黑人一区二区三区久久 | 日本成人超碰在线观看| 一区二区三区欧美激情| 中文字幕欧美激情| 国产亚洲精品bt天堂精选| 日韩欧美一区二区免费| 8v天堂国产在线一区二区| 欧美日韩中文字幕一区二区| 色呦呦一区二区三区| 91在线视频网址| www.欧美日韩国产在线| 国产福利91精品一区二区三区| 裸体一区二区三区| 蜜桃久久av一区| 美女视频黄频大全不卡视频在线播放| 一区二区国产盗摄色噜噜| 亚洲免费观看高清在线观看| 一区在线观看视频| 中文字幕人成不卡一区| 国产精品成人免费在线| 亚洲素人一区二区| 亚洲欧洲成人精品av97| 亚洲另类在线视频| 一区二区三区四区av| 亚洲福利一区二区| 日韩国产高清影视| 久久精品二区亚洲w码| 国产最新精品免费| 国产成人午夜电影网| 国产乱妇无码大片在线观看| 国产福利一区二区| av一区二区不卡| 91久久国产综合久久| 在线电影一区二区三区| 日韩精品一区二区三区视频在线观看| 日韩视频在线永久播放| 久久精品亚洲精品国产欧美| 欧美国产综合色视频| 亚洲精品高清视频在线观看| 亚洲国产你懂的| 麻豆精品一区二区| 不卡的电视剧免费网站有什么| 色偷偷久久人人79超碰人人澡| 欧美日韩精品高清| ww久久中文字幕| 亚洲精选视频免费看| 蜜乳av一区二区| 国产91丝袜在线播放| 色婷婷亚洲综合| 欧美一区二区三区系列电影| 久久婷婷国产综合精品青草| 国产精品一区二区男女羞羞无遮挡| 国产精品伦一区二区三级视频| 色婷婷av久久久久久久| 欧美日韩国产高清一区| 精品久久久网站| 一区二区三区在线观看动漫| 美女视频黄免费的久久| 99国产精品一区| 欧美一区二区三区四区久久| 中文天堂在线一区| 午夜亚洲国产au精品一区二区| 激情成人午夜视频| 91视频91自| 2020国产精品自拍| 夜夜嗨av一区二区三区| 国产精品一级在线| 欧美三级电影在线看| 国产欧美一区视频| 日韩中文字幕一区二区三区| 成人av在线资源网站| 欧美变态凌虐bdsm| 亚洲在线一区二区三区| 粉嫩av一区二区三区| 日韩美女视频一区二区在线观看| 伊人开心综合网| 成人国产一区二区三区精品| 欧美一卡在线观看| 一区二区欧美国产| 成人免费毛片高清视频| 久久中文字幕电影| 日本sm残虐另类| 欧美色精品在线视频| 中文字幕一区二区三| 国产精品一区二区果冻传媒| 欧美日韩高清不卡| 亚洲尤物视频在线| 一本一道久久a久久精品| 国产婷婷色一区二区三区四区| 秋霞午夜鲁丝一区二区老狼| 欧美日韩综合在线免费观看| 亚洲激情在线播放| 99国产精品久久久久久久久久久| 国产三级久久久| 国内精品国产三级国产a久久| 日韩一级在线观看| 日产国产高清一区二区三区| 欧美日韩视频专区在线播放| 亚洲一二三四区| 欧洲精品在线观看| 成人免费一区二区三区在线观看| 国产精品一区三区| 国产欧美中文在线| 国产成人精品www牛牛影视| 国产亚洲精品久| 成人蜜臀av电影| 日韩美女精品在线| 色94色欧美sute亚洲13| 亚洲美女免费在线|