📄 vex.h
字号:
#include <iostream.h>
#include "primDlg.h"
#include "afx.h"
#ifndef _VEX_H
#define INFINITY INT_MAX //最大值:无穷大
#define MAX_VERTEX_NUM 20 //最大顶点个数
#define MAX 100000 //最大值
typedef int VRTYPE;
typedef struct
{float adj;}AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];//带权图的权值类型
typedef struct
{VRTYPE vexs[MAX_VERTEX_NUM]; //顶点向量
AdjMatrix arcs; //邻接矩阵
int vexnum; //顶点数
}MGraph; //图的种类标志
typedef struct
{VRTYPE adjvex; //记录生成树顶点集合外各顶点距离集合内哪个顶点最近
float lowcost; //存放生成树顶点集合内顶点到生成树外各顶点的各边上的当前最小权值
}closedge[MAX_VERTEX_NUM];
//最小生成树的辅助数组
class vex{
public:int LocateVex(MGraph G, int u) //确定输入的顶点在G中的位置
{ int i;
for(i=0;i<10;i++)
{if(u==G.vexs[i])return i;
}
if(i==10)return i=10;
//输入的顶点u存在于图G中
return -1;
}
int minimum(closedge close) //求当前最小边在顶点集V-U中所依附的顶点位置
{
int i=0,j;float client = MAX;
while(close[i].adjvex != '\0') //该顶点仍在V-U中
{
if (client > close[i].lowcost && close[i].lowcost != 0)
{client = close[i].lowcost; //修改最小权值
j = i; } //修改最小边在顶点集V-U中所依附的顶点位置
i++;}
return j;
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -