资源简介

[问题描述] 分别用邻接矩阵和邻接表实现以下操作:图的创建、遍历、插入、删除、最短路径。 参考题目为校园导游程序 [基本要求] 熟悉图的常用存储结构和基本操作。 [实现提示] 设图的结点不超过30个,每个结点用一个编号表示(如果一个图有n个结点,则它们的编号分别为1,2,…,n)。通过输入图的全部边输入一个图,每个边为一个数对,可以对边的输入顺序作出某种限制。注意,生成树的边是有向边,端点顺序不能颠倒

资源截图

代码片段和文件信息

#include
using namespace std;

/**********图的邻接矩阵存储形式***********/                                                                                                                             
#define MaxInt 32767             //表示极大值
#define MVNum 30                //最大顶点数
typedef char VerTexType;         //假设顶点的数据类型为字符型
typedef int ArcType;             //假设边的权值类型为整型   
typedef struct
{
VerTexType vexs[MVNum];       //顶点表
ArcType arcs[MVNum][MVNum];   //邻接矩阵
int vexnumarcnum;            //图的当前点数和边数
}AMGraph;

int LocateVex(AMGraph Gchar v)
{
int i;
for(i=0;i if(G.vexs[i]==v)
return i;
return -1;


}
void CreateUDN(AMGraph &G)
{//采用邻接矩阵表示法,创建无向网G
cout<<“请输入顶点数(1-30)“< cin>>G.vexnum;
cout<<“请输入总边数“< c

评论

共有 条评论