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

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

?? mst.c

?? 用普里姆算法借助堆排序實現最短路徑的查找
?? C
字號:
#include "conio.h"
#include "stdio.h"
#include "stdlib.h"
#include "math.h"
#include "string.h"
#include "memory.h"

#define MAX 50
#define MAXSTRL 200
#define MAXISM 99999

typedef struct Node{ //結點
  int vertex;
  int weight;
  struct Node *next;
} Node;

typedef struct {//堆
	 Node * start[MAX+1];
} Graph;

Graph stack;//定義堆

int Adj[MAX+1][MAX+1];  //鄰接矩陣 

int vexnum,edgnum;//結點和邊數目 
int heapleftnum; //堆中剩佘的結點數
int sum=0;       //放和的地方
char result[MAXSTRL];//放結果和臨時字串
char temp[MAXSTRL];
char * str=result;


void Adjut(int p)//對堆,從節點p為根節點的樹調整成堆,堆的節點數為heapleftnum
{   
	int work,temp;
	Node * temppoint;
	work=p; //工作變量
	temp=work *2;

	while(temp<=heapleftnum)
	{
		if ( (temp<heapleftnum) && ( (stack.start[temp]->weight)>(stack.start[temp+1]->weight) ) ) //臨時節點有右鄰且右鄰權小于臨時節點
		    temp++;//臨時節點指向小的
		if (stack.start[temp]->weight>=stack.start[work]->weight)  //臨時節點比工作節點權大
			break;//結束排序,
			
		work=temp;	//臨時節點比工作節點權小,當前工作結點改為臨時節點
		temp=temp*2;	
	}
  	
	if (p!=work) //交換
	 { temppoint=stack.start[p];
	 stack.start[p]=stack.start[work];
	 stack.start[work]=temppoint;
	 }
}

void Heap_sort() //heap sort
{
	int work=(int)(heapleftnum/2);//堆排序工作變量,指向最后一個要排序的堆節點
	while (work>0)           //對從vexnum/2開始到1的節點進行堆基本排序
	 {Adjut(work);work--;}
}


int removeMin() //返回第一個堆節點的號,將第一個堆節點與最后一個節點對換,
{ Node * t;
  t=stack.start[1];
  stack.start[1]=stack.start[heapleftnum];
  stack.start[heapleftnum]=t;
  return (heapleftnum);
}


void main()  //main prostackm
{ 
   int x,y,num,i,j,r,u,t1,t2,t;
   printf("mst\n");
   scanf("%d %d",&vexnum,&edgnum);
 
   //初始化鄰接矩陣
   for (i=1;i<=vexnum;i++)
   {
	   for (j=1;j<=vexnum;j++)
		   Adj[i][j]=MAXISM;
   }
   //建立鄰接矩陣
   for (i=1;i<=edgnum;i++)
   {
     scanf(" %d %d %d", &x,&y,&num);
     Adj[x][y]=num;
	 Adj[y][x]=num;
   }

   //分配堆空間,初始化堆
   for (i=1;i<=vexnum;i++)
     {stack.start[i]=(Node *)malloc(sizeof(Node));
      stack.start[i]->vertex=i;
	  if (i==1) stack.start[i]->weight=0;
	  else stack.start[i]->weight=MAXISM;
      stack.start[i]->next=NULL;
	  }

   heapleftnum=vexnum;//記錄剩余的節點個數

   Heap_sort();//把stack第一次變成堆

   while (heapleftnum!=0)
   { u=removeMin();   //就是把Q中頂端的值彈出付給u,u是堆的序號,不是圖的節 點號, 然后再把"堆"中最后一個值放到頂端,
	 heapleftnum--;
     Heap_sort();//然后平衡這個堆
     for (i=1;i<=heapleftnum;i++) 
     if (Adj[stack.start[u]->vertex][stack.start[i]->vertex]!=MAXISM)    //對圖G中與u相臨的所有邊
	   {r=Adj[stack.start[u]->vertex][stack.start[i]->vertex];  //stack[i]->vertex是邊e的另一頭頂點,r是邊e的權值
	   if (r<=(stack.start[i]->weight))  //意思是r 比堆中的i的權小,i的距離就是開始時設的∞
	     if ((r==stack.start[i]->weight) && (stack.start[u]->vertex>stack.start[i]->next->vertex)) {}//如果距里相同,且當前結點序號stack.start[u]->vertex大于結點stack.start[i]->vertex原來指向的結點號stack.start[i]->next->vertex則原連接不變
		 else
		 { stack.start[i]->weight=r;   //把r付給stack.start[i]的權值
           stack.start[i]->next=stack.start[u];    //就是i指向stack.start[u]
	       Heap_sort();                            //然后再平衡一遍這個堆
	     }
	 }
  }

  //輸出結果
   for( i=vexnum;i>0;i--)
   {
	    if(stack.start[i]->next!=NULL)
		{
		 t1=stack.start[i]->vertex;
		 t2=stack.start[i]->next->vertex;
		 if(t1>t2)
		 {
			t=t1;
			t1=t2;
			t2=t;
		 } 
	     sprintf(temp,"%d %d %d\n",t1,t2,Adj[t1][t2]);
         str=strcat(str,temp);
	     sum+=Adj[t1][t2];
		}
   }
 

 printf("Cost:%d\n%s",sum,result); 
  //回收堆空間
   for (i=1;i<=vexnum;i++)
     free(stack.start[i]); 
}




/*
while (Q!=空)
{
   u=removeMin(Q);//就是把Q中頂端的值彈出付給u, 然后再把"堆"中最后一個值放到頂端,然后平衡這個堆
   for all e屬于 G.incidentEdge(u); 
          // e是圖G中與u相臨的所有邊
   {
      z=G.opposite (u,e) ; //z是邊e的另一頭頂點
      r=weight(e); //r是邊e的權值
      if (r<getdistance(z))  //意思是r 比堆中的z的權小,z的距離就是開始時設的∞。
	  {setdistance(z,r); //把r的權值付給z,
        setparent(u,z);  //就是z的另一頂點設為u,開始時都為Null
        //然后再平衡一遍這個堆;
	  }
   }
}
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线免费精品视频| 久久精品视频免费| 精品黑人一区二区三区久久| 中文字幕欧美日韩一区| 午夜精品爽啪视频| 成人激情午夜影院| 26uuu精品一区二区| 肉肉av福利一精品导航| 91丨porny丨国产入口| 欧美tk—视频vk| 亚洲午夜一区二区| 一本到三区不卡视频| 久久精品视频网| 久久91精品国产91久久小草| 欧美视频一区二区三区在线观看 | 日韩综合一区二区| 99久久免费国产| 久久精品欧美一区二区三区麻豆| 日本欧美一区二区三区乱码| 日本久久精品电影| 亚洲色图视频免费播放| 成人午夜私人影院| 国产精品污网站| 懂色av一区二区夜夜嗨| 国产婷婷一区二区| 国产99精品视频| 欧美国产激情二区三区| 国产精品66部| 欧美激情艳妇裸体舞| 国产aⅴ精品一区二区三区色成熟| 亚洲精品一区二区三区蜜桃下载 | 欧美精品在线观看一区二区| 亚洲黄色小说网站| 色嗨嗨av一区二区三区| 亚洲精选视频免费看| 色综合久久综合中文综合网| 亚洲视频免费在线观看| 色综合天天天天做夜夜夜夜做| 国产精品卡一卡二| 99re热这里只有精品视频| 亚洲三级小视频| 欧美综合欧美视频| 日韩精彩视频在线观看| 欧美一级理论性理论a| 国产在线播放一区三区四| 国产欧美一区在线| 成人国产在线观看| 亚洲自拍偷拍网站| 欧美一区二区三区男人的天堂| 天天综合色天天| 日韩一级免费一区| 国产成人免费视| 亚洲欧美日韩中文播放| 欧美群妇大交群的观看方式| 另类小说图片综合网| 国产日韩一级二级三级| 91丝袜美腿高跟国产极品老师| 亚洲一区二区三区免费视频| 欧美一区二区视频在线观看2022| 欧美日韩一级片在线观看| 日韩国产精品久久久久久亚洲| 精品区一区二区| 91农村精品一区二区在线| 天天av天天翘天天综合网| 26uuu成人网一区二区三区| jizz一区二区| 免费观看成人鲁鲁鲁鲁鲁视频| 国产亚洲综合性久久久影院| 一本在线高清不卡dvd| 美脚の诱脚舐め脚责91 | 国产精品欧美一级免费| 在线观看日韩av先锋影音电影院| 免费看欧美美女黄的网站| 国产精品女上位| 欧美一级高清片在线观看| caoporn国产精品| 麻豆一区二区在线| 亚洲女同一区二区| 欧美va亚洲va香蕉在线| 色婷婷久久一区二区三区麻豆| 精品一区二区三区在线播放| 中文字幕综合网| 久久亚洲春色中文字幕久久久| 日本高清不卡aⅴ免费网站| 久久精品久久综合| 夜夜亚洲天天久久| 日本一区二区三区电影| 日韩一区二区影院| 欧美性色综合网| 99热精品一区二区| 韩国理伦片一区二区三区在线播放| 精品一区二区国语对白| 亚洲一区二区三区美女| 国产精品成人午夜| 久久先锋影音av鲁色资源网| 3d动漫精品啪啪1区2区免费| 97精品国产97久久久久久久久久久久| 精久久久久久久久久久| 丝袜国产日韩另类美女| 亚洲一区二区综合| 亚洲激情校园春色| 亚洲人亚洲人成电影网站色| 国产蜜臀av在线一区二区三区| 日韩一区二区免费视频| 69av一区二区三区| 精品视频一区二区不卡| 欧美性三三影院| 在线观看亚洲a| 日本高清无吗v一区| 91麻豆免费看片| 91网页版在线| 欧美在线一区二区| 一本大道久久精品懂色aⅴ| 99精品视频一区| 99久久精品一区| 色中色一区二区| 91国偷自产一区二区开放时间 | 五月天欧美精品| 亚洲精品免费一二三区| 亚洲欧美国产毛片在线| 亚洲欧美日韩国产综合在线| **网站欧美大片在线观看| 中文字幕字幕中文在线中不卡视频| 中文字幕在线免费不卡| 亚洲欧美一区二区三区极速播放| 中文字幕在线视频一区| 亚洲日本乱码在线观看| 一区二区激情视频| 日韩av电影免费观看高清完整版在线观看 | 亚洲视频在线一区观看| 亚洲毛片av在线| 婷婷丁香激情综合| 经典一区二区三区| 成人美女视频在线观看| 91在线视频播放| 欧美视频在线播放| 欧美成人猛片aaaaaaa| 久久久不卡网国产精品一区| 国产精品传媒入口麻豆| 亚洲一区在线观看免费| 久久精品国产亚洲5555| 成人性色生活片| 欧美视频一区二区三区四区| 日韩欧美资源站| 国产精品国产三级国产aⅴ无密码| 亚洲乱码一区二区三区在线观看| 亚洲成av人片一区二区梦乃| 精品一区二区影视| 91美女蜜桃在线| 精品国产91洋老外米糕| 亚洲美女电影在线| 美女脱光内衣内裤视频久久网站 | 91色视频在线| 欧美大片在线观看一区二区| 国产精品私人自拍| 首页综合国产亚洲丝袜| 成人av网站在线| 欧美一区二区三区在线视频| 欧美高清在线精品一区| 日韩高清一区二区| av成人动漫在线观看| 日韩欧美激情在线| 一区二区三区成人在线视频 | 亚洲第一二三四区| 国产精品99精品久久免费| 91福利资源站| 国产精品萝li| 久久精品国产亚洲a| 欧美日韩一区在线观看| 国产精品免费久久| 麻豆精品一区二区av白丝在线| 91亚洲国产成人精品一区二三| 日韩欧美高清一区| 亚洲国产欧美在线人成| 成人高清在线视频| www国产精品av| 男人的j进女人的j一区| 欧美一a一片一级一片| 国产精品亲子乱子伦xxxx裸| 久久66热偷产精品| 欧美精品精品一区| 亚洲男人天堂av| www.色精品| 国产欧美日韩精品a在线观看| 日韩va亚洲va欧美va久久| 欧美亚男人的天堂| 亚洲欧美成aⅴ人在线观看| 成人免费视频播放| 欧美韩国日本一区| 国产福利一区在线| 久久久亚洲精华液精华液精华液| 蜜桃视频在线观看一区| 欧美猛男gaygay网站| 亚洲综合av网| 欧美在线视频不卡| 亚洲自拍偷拍综合| 欧美日韩成人综合天天影院| 亚洲线精品一区二区三区八戒| 在线亚洲高清视频| 亚洲一区二区综合|