久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

帖子
查看: 1251|回復: 0
收起左側

C語言程序 克魯斯卡爾算法求最小生成樹

[復制鏈接]
ID:1109336 發表于 2024-1-15 21:23 | 顯示全部樓層 |閱讀模式
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include<stdio.h>

  3. typedef struct Edge
  4. {
  5.         int v1, v2;
  6.         int wight;
  7. }Edge;

  8. int main()
  9. {
  10.         int n, m;//結點數和邊數
  11.         int i, j, k = 0;
  12.         int count = 0;
  13.         Edge edge[100];//邊集
  14.         int vest[30];//判斷是否成環的編號數組
  15.         scanf("%d %d", &n, &m);
  16.         for (i = 0; i < m; i++)
  17.         {
  18.                 scanf("%d %d %d", &edge[i].v1, &edge[i].v2, &edge[i].wight);
  19.                 if(edge[i].v1 > edge[i].v2)
  20.                 {
  21.                         int t = edge[i].v1;
  22.                         edge[i].v1 = edge[i].v2;
  23.                         edge[i].v2 = t;
  24.                 }
  25.         }
  26.         for (i = 1; i <= n; i++)//初始化編號數組
  27.                 vest[i] = i;
  28.         for (i = 0; i < m - 1; i++)//排序
  29.         {
  30.                 for (j = 0; j < m - i - 1; j++)
  31.                 {
  32.                         if (edge[j].wight > edge[j + 1].wight)
  33.                         {
  34.                                 Edge t = edge[j];
  35.                                 edge[j] = edge[j + 1];
  36.                                 edge[j + 1] = t;
  37.                         }
  38.                 }
  39.         }
  40.         for (i = 0; i < m && count < n - 1; i++)
  41.         {
  42.                 if (vest[edge[i].v1] != vest[edge[i].v2])//說明不構成環,打印
  43.                 {
  44.                         printf("%d %d %d\n", edge[i].v1, edge[i].v2, edge[i].wight);
  45.                         count++;
  46.                         int flag1 = vest[edge[i].v1];
  47.                         int flag2 = vest[edge[i].v2];
  48.                         for (j = 1; j <= n; j++)
  49.                         {
  50.                                 if (vest[j] == flag2)//把全部編號為flag2的結點改為flag1
  51.                                         vest[j] = flag1;
  52.                         }
  53.                 }
  54.         }
  55.         return 0;
  56. }
復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91亚洲国产成人久久精品麻豆 | 日韩av中文字幕在线播放 | 国产不卡在线视频 | 特级毛片爽www免费版 | 亚洲国产欧美日韩在线 | www.九九热 | 亚洲在线播放 | 在线观看91视频 | 日韩成人一区 | 婷婷综合五月天 | 国产日韩免费 | 国产视频一二区 | 欧美黄色一级大片 | 四虎在线免费观看视频 | 婷婷中文网| 日韩精品影院 | 高清av在线| 色女人影院 | 最新中文字幕在线观看 | 日韩亚洲欧美在线 | av一区二区三区在线观看 | 亚洲狠狠 | 18岁毛片 | 黄色成人小视频 | 成人免费黄色片 | 93久久精品日日躁夜夜躁欧美 | 免费一级a毛片 | 欧美一级淫片免费视频魅影视频 | 国内精品国产成人国产三级 | 在线a视频| 国产网站在线 | 欧美日韩中文字幕在线观看 | 亚洲在线观看视频 | 中文在线字幕观看 | 激情丁香婷婷 | 97精品视频| 福利一区福利二区 | 亚洲天堂视频在线 | av黄色大片| 四虎成人在线 | 亚洲国产成人在线 |