⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stockbroker.cpp

📁 建立了图的基类
💻 CPP
字号:
#include <iostream>
#include <string>

using namespace std;

#define MAX 102
#define INFINITY 65536

#include "Floyd.cpp" 

void Floyd(Graph&, Dist**&); 

int BrokerToPassRomour (Graph& G )  {	
	Dist **D ;							// 传入Floyd算法的参数,求出各顶点间的最短距离
	int max[G.VerticesNum()];				// 记录每个顶点到其他顶点最短距离的最大值
	int min = 0;						// 记录max数组中的最小值
	int pos = 0;							// 记录max数组中最小值的位置
	for( int i = 0; i < G.VerticesNum(); i++ )   	// 初始化max数组
		max[i] = -1 ;		

	Floyd(G,  D);						// 调用Floyd算法求每个结点之间的最短距离

	for (i = 0; i < G.VerticesNum();i ++ )  {  // 找出每行的最大值
		for (int j = 0; j < G. VerticesNum(); j ++ )  {
			if ( D[i][j] > max[i] )
				max[i] = D[i][j] ;
		}
	}

	min = max[0];
	for ( i = 1 ; i < G.VerticesNum(); i++ )		    // 找max数组的最小值
		if ( max[i] < min )  {
			min = max[i];
pos = i;							
		}
	if (min == INFINITY)  {
		cout<<"此图不连通"<<endl;
     	return -1;
	}
	return pos;								// 返回最合适的开始顶点
}

⌨️ 快捷键说明

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