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

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

?? prims.java

?? 已經編寫好的數據結構課本程序可以減輕您的負擔
?? JAVA
字號:
/* =============== Program Description =============== */
/* 程序名稱: prims.c                                  */
/* 程序目的: 設計一個利用Prims算法找出生成樹的程序  */
/* Written By Kuo-Yu Huang. (WANT Studio.)             */
/* =================================================== */
#include <stdlib.h>
#define Max 10
#define VertexNum 5

struct	List				/* 節(jié)點結構聲明 */
{
	int		Marked;		/* 搜索標記 */
	int		Vertex1;	/* 頂點聲明 */
	int		Vertex2;	/* 頂點聲明 */
	int		Weight;		/* 加權值 */
	struct	List	*Next;
};
typedef	struct	List	Node;
typedef	Node	*Edge;			/* 定義鄰接邊的節(jié)點 */

int Edges[10][3] =	/* 輸入數據 */
	{ 	{1,2,7}, {1,3,6}, {1,4,5}, {1,5,12}, {2,3,14},
		{2,4,8}, {2,5,8}, {3,4,3}, {3,5,9}, {4,5,2} };

int Visited[VertexNum+1];	/* 搜索記錄 */

/* --------------------------------------------------- */
/* Prims算法                                       */
/* --------------------------------------------------- */
void Prims(Edge Head,int Index)
{
	Edge	Pointer;	/* 節(jié)點聲明 */
	Edge	MinEdge;
	int		EdgeNum = 0;	/* 已連結邊的數目 */
	int		Weight = 0;	/* 累計加權值 */
	int		i;

	Visited[Index] = 1;	/* 設定已搜索過 */

			/* 當邊的數目為頂點的數目減1時,結束循環(huán) */
	while ( EdgeNum != ( VertexNum - 1 )  )
	{
		MinEdge->Weight = 999;		/* 將最小邊的加權值設到最大 */
		for ( i=1;i<=VertexNum;i++ )	/* 判斷未建立的鄰接頂點 */
		{
			Pointer = Head;
			if ( Visited[i] == 1 )	/* 已存在生成樹集合的頂點 */
			{
				while ( Pointer->Marked == 1 )	/* 往下一個未建立的鄰接邊 */
					Pointer = Pointer->Next;
				if ( MinEdge->Weight > Pointer->Weight )
					MinEdge = Pointer;	/* 找出加權值最小的鄰接邊 */
				while (	Pointer != NULL )
				{
				/* 如果兩頂點皆存在生成樹集合中,表示是已搜索過的邊 */
					if ( Visited[Pointer->Vertex1] == 1
					&& Visited[Pointer->Vertex2] == 1 )
						Pointer->Marked = 1;
				/* 找出加權值最小的鄰接邊 */
					if ( MinEdge->Weight > Pointer->Weight
						&& Pointer->Marked == 0
						&& ( Pointer->Vertex1 == i
							|| Pointer->Vertex2 == i ) )
						MinEdge = Pointer;
					Pointer = Pointer->Next;
				}
			}
		}
		Visited[MinEdge->Vertex1] = 1;	/* 將頂點1設為存在生成樹集合中 */
		Visited[MinEdge->Vertex2] = 1;	/* 將頂點2設為存在生成樹集合中 */
		EdgeNum++;			/* 生成樹的邊數加1 */
		Weight += MinEdge->Weight;	/* 累計加權值 */
		printf("[%d,%d]",MinEdge->Vertex1,MinEdge->Vertex2);
		printf("(%d)",MinEdge->Weight);
	}
	printf("\nTotal weight = %d\n",Weight);	/* 輸出加權值總和 */
}

/* --------------------------------------------------- */
/* 釋放鏈表                                        */
/* --------------------------------------------------- */
void Free_Edge(Edge Head)
{
	Edge	Pointer;		/* 節(jié)點聲明 */

	while (	Head != NULL )	/* 當節(jié)點為NULL結束循環(huán) */
	{
		Pointer = Head;
		Head = Head->Next;	/* 往下一個節(jié)點 */
		free(Pointer);
	}
}

/* --------------------------------------------------- */
/* 輸出鏈表數據                                    */
/* --------------------------------------------------- */
void Print_Edge(Edge Head)
{
	Edge	Pointer;		/* 節(jié)點聲明 */

	Pointer = Head;			/* Pointer指針設為首節(jié)點 */
	while (	Pointer != NULL )	/* 當節(jié)點為NULL結束循環(huán) */
	{
		printf("[%d,%d]",Pointer->Vertex1,Pointer->Vertex2);
		printf("(%d)",Pointer->Weight); /* 輸出加權值 */
		Pointer = Pointer->Next;	/* 往下一個節(jié)點 */
	}
	printf("\n");
}

/* --------------------------------------------------- */
/* 插入鄰接邊至鏈表中                              */
/* --------------------------------------------------- */
Edge Insert_Edge(Edge Head,Edge New)
{
	Edge	Pointer;		/* 節(jié)點聲明 */

	Pointer = Head;			/* Pointer指針設為首節(jié)點 */

	while ( Pointer->Next != NULL )	/* 插入在鏈表尾端 */
		Pointer = Pointer->Next;
	Pointer->Next = New;

	return Head;
}

/* --------------------------------------------------- */
/* 建立鏈表                                        */
/* --------------------------------------------------- */
Edge Create_Edge(Edge Head)
{
	Edge	New;			/* 節(jié)點聲明 */
	Edge	Pointer;		/* 節(jié)點聲明 */
	int	i;

	Head = (Edge) malloc(sizeof(Node));	/* 存儲空間配置 */

	if ( Head == NULL )
		printf("Memory allocate Failure!!\n");	/* 存儲空間配置失敗 */
	else
	{
		Head->Marked = 0;
		Head->Vertex1 = Edges[0][0];
		Head->Vertex2 = Edges[0][1];
		Head->Weight = Edges[0][2];	/* 定義節(jié)點加權值 */
		Head->Next = NULL;

		for ( i=1;i<10;i++ )
		{
			New = (Edge) malloc(sizeof(Node));

			if ( New != NULL )
			{
				New->Marked = 0;
				New->Vertex1 = Edges[i][0];
				New->Vertex2 = Edges[i][1];
				New->Weight = Edges[i][2];/* 定義節(jié)點加權值 */
				New->Next = NULL;

				Head = Insert_Edge(Head,New);/* 則插入新節(jié)點 */
			}
		}
	}
	return Head;
}
/* --------------------------------------------------- */
/* 主程序                                              */
/* --------------------------------------------------- */
void main ()
{
	Edge	Head;			/* 節(jié)點聲明 */
	int	i;

	for ( i=1;i<=VertexNum;i++ )	/* 清除搜索記錄 */
		Visited[i] = 0;

	Head = Create_Edge(Head);	/* 調用建立鏈表 */
	Print_Edge(Head);

	if ( Head != NULL )
	{
		printf("Prims Algorithm : \n");
		printf("Start from Vertex 1.\n");
		printf("Find Minimal Spanning Tree.\n");

		Prims(Head,1); 		/* 調用Prims算法 */
		free(Head);		/* 調用釋放鏈表 */
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久一区二区三区 | 欧美日韩免费观看一区三区| 久久国产精品色婷婷| 亚洲欧美日韩一区二区| 欧美一级日韩免费不卡| 91色综合久久久久婷婷| 国产成人午夜片在线观看高清观看| 亚洲一级电影视频| 国产精品免费久久久久| 日韩欧美一区二区不卡| 欧美熟乱第一页| av爱爱亚洲一区| 国产成人综合亚洲网站| 男人的天堂久久精品| 亚洲一区在线播放| 亚洲丝袜自拍清纯另类| 欧美国产视频在线| 欧美r级在线观看| 欧美丰满少妇xxxbbb| 日本久久精品电影| 91在线一区二区三区| 成人网在线播放| 国产一区二区调教| 久久精品免费观看| 日韩不卡一区二区| 午夜精品久久久久久久久久| 伊人婷婷欧美激情| 亚洲欧美日韩综合aⅴ视频| 国产色产综合色产在线视频 | 最新欧美精品一区二区三区| 国产日韩欧美不卡| 国产欧美综合在线观看第十页| 欧美不卡123| 日韩欧美一区二区在线视频| 777亚洲妇女| 欧美妇女性影城| 日本一二三不卡| 日本一二三不卡| 国产精品久99| 亚洲免费在线视频一区 二区| 国产精品久久久久影院色老大| 国产精品天美传媒沈樵| 国产精品久久综合| 国产精品乱码人人做人人爱| 国产精品乱人伦一区二区| 国产精品乱码久久久久久| 国产精品久久免费看| 亚洲同性同志一二三专区| 日韩伦理av电影| 亚洲综合色视频| 香蕉影视欧美成人| 日产欧产美韩系列久久99| 久久成人羞羞网站| 国产一区二区毛片| 成人18精品视频| 欧美综合天天夜夜久久| 欧美三日本三级三级在线播放| 欧美群妇大交群的观看方式| 欧美一区二区久久久| 久久久美女毛片| 国产精品另类一区| 亚洲综合清纯丝袜自拍| 美女爽到高潮91| 国产精品一区二区三区四区| 99精品热视频| 欧美欧美午夜aⅴ在线观看| 日韩欧美中文一区| 国产精品麻豆网站| 午夜精品久久久久久久蜜桃app| 国产一区二区三区四区五区美女| 成人网男人的天堂| 在线成人免费观看| 国产亚洲美州欧州综合国| 亚洲精品乱码久久久久久久久| 日产欧产美韩系列久久99| 岛国精品在线观看| 欧美最猛性xxxxx直播| 亚洲精品在线电影| 最新日韩av在线| 久久精品国产99国产精品| a4yy欧美一区二区三区| 777xxx欧美| 亚洲欧洲日韩一区二区三区| 日韩一区精品字幕| av电影一区二区| 亚洲精品一区二区三区四区高清 | 国产大片一区二区| 欧美日韩国产天堂| 国产日产欧美精品一区二区三区| 亚洲网友自拍偷拍| 国产白丝网站精品污在线入口| 欧美色倩网站大全免费| 精品久久久久香蕉网| 亚洲午夜激情网站| 成人99免费视频| 欧美成人精品二区三区99精品| 成人欧美一区二区三区视频网页| 免费的国产精品| 在线观看成人小视频| 久久久久亚洲蜜桃| 五月激情综合色| 99久久伊人久久99| 久久亚洲综合色一区二区三区| 亚洲一区二区三区在线看| 日韩三级高清在线| 亚洲女女做受ⅹxx高潮| 狠狠v欧美v日韩v亚洲ⅴ| 欧美欧美午夜aⅴ在线观看| 亚洲欧美电影一区二区| 国内久久婷婷综合| 欧美另类高清zo欧美| 亚洲黄色免费网站| caoporn国产精品| 国产拍揄自揄精品视频麻豆| 麻豆精品一区二区| 欧美精品粉嫩高潮一区二区| 亚洲综合成人网| 91麻豆免费看片| 国产精品久久久久久久久图文区| 精品一区二区影视| 69av一区二区三区| 亚洲va天堂va国产va久| 欧美在线不卡视频| 一区二区三区中文免费| av一二三不卡影片| 亚洲国产高清不卡| 成人中文字幕合集| 26uuu国产电影一区二区| 久久精品99国产精品| 欧美一级精品大片| 日韩电影免费一区| 7777女厕盗摄久久久| 日韩经典中文字幕一区| 欧美精品一卡二卡| 天天av天天翘天天综合网| 欧美精选在线播放| 午夜欧美在线一二页| 欧美日韩亚洲不卡| 五月婷婷久久丁香| 欧美日韩另类国产亚洲欧美一级| 亚洲免费毛片网站| 日本韩国视频一区二区| 伊人婷婷欧美激情| 欧美在线你懂得| 午夜视频久久久久久| 91精品国产综合久久久久久久久久 | 成人一级片网址| 国产亚洲自拍一区| 国产91精品久久久久久久网曝门| 国产精品视频九色porn| 色域天天综合网| 亚洲电影视频在线| 日韩女优制服丝袜电影| 久久99热这里只有精品| 国产午夜精品在线观看| 不卡视频免费播放| 亚洲黄色免费网站| 欧美日韩国产123区| 久久av中文字幕片| 国产精品狼人久久影院观看方式| 91丨九色丨蝌蚪丨老版| 午夜欧美在线一二页| 精品国产人成亚洲区| 高清beeg欧美| 亚洲一级二级在线| 日韩免费高清视频| 成人app在线观看| 午夜在线成人av| 久久久久久久久久久电影| 色一情一乱一乱一91av| 日韩av不卡一区二区| 欧美经典一区二区| 欧美日韩一区三区| 国产成人午夜精品5599| 亚洲一区二区三区三| 精品久久国产97色综合| 不卡一区二区三区四区| 天天免费综合色| 国产精品美女www爽爽爽| 欧美人妇做爰xxxⅹ性高电影| 国产不卡高清在线观看视频| 丁香激情综合国产| 日韩影院在线观看| 国产精品福利一区二区三区| 欧美高清hd18日本| 99久久精品国产精品久久 | 成人国产精品免费观看动漫| 亚洲一区二区精品视频| 国产日韩av一区二区| 911精品产国品一二三产区| 成人午夜视频免费看| 亚洲大片免费看| 久久精品免费在线观看| 欧美另类久久久品| 91在线码无精品| 国产麻豆精品95视频| 亚州成人在线电影| 自拍偷拍国产亚洲| 久久久三级国产网站| 日韩一区二区在线观看视频|