图的应用 实验_图的应用实验报告
图的应用 实验由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“图的应用实验报告”。
图的应用 实验日志
实验题目:图的建立及输出
实验目的:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。实验主要步骤: 1.编辑源程序;
2.编写有向图的实现程序; 3.编写实现无向图的源程序;
4.连接—编译—运行该程序,并在过程中调试。源程序:
#include #include #define MAX_VERTEX_NUM 20
typedef struct{ int arcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];int vexnum;int arcnum;char vexs[MAX_VERTEX_NUM];}MGraph;
int LocateVex(MGraph G,char v){ int i;for(i=0;i
if(G.vexs[i]==v)
return i;} return 0;}
int CreateUDG(MGraph G){ int i,j,k,w;char v1,v2;printf(“请输入顶点和边:n”);scanf(“%d%d”,&G.vexnum,&G.arcnum);for(i=0;i
int CreateDG(MGraph G){ int i,j,k,w;char v1,v2;printf(“请输入顶点和边:n”);scanf(“%d%d”,&G.vexnum,&G.arcnum);for(i=0;i
n“);} printf(”输出的领接矩阵是:n“);for(i=0;i
printf(” %d “,G.arcs[i][j]);printf(”n“);} return 0;}
void main(){
char kind[5];MGraph G;printf(”请输入要建立的图的类型(UDG或DG):n“);
scanf(”%s“,kind);if(strcmp(”UDG“,kind)==0)
CreateUDG(G);if(strcmp(”DG",kind)==0)
CreateDG(G);} 实验结果:
心得体会:通过实验掌握有向图和无向图的概念;掌握邻接矩阵和邻接链表建立图的存储结构;