📄 graph.cpp
字号:
#include<stdio.h> /*该文件包含printf()、scanf()等文件*/
#include<stdlib.h> /*该文件包含exit()、malloc()等文件*/
typedef char DataType; /*定义DataType为char*/
#define MaxSize 100 /*定义顺序表中数组存储的最大个数*/
#define MaxVertices 10 /*定义顶点的最大个数*/
#define MaxEdges 100 /*定义边的最大条数*/
#define MaxWeight 10000 /*定义边权值的最大值*/
#include "AdjMGraph.h" /*包含文件AdjMGraph.h*/
#include "AdjMGraphCreate.h" /*包含文件AdjMGraphCreate.h*/
void main(void)
{
AdjMWGraph g1; /*定义将要创建的图*/
DataType * a; /*存放顶点集合*/
RowColWeight * rcw; /*存放边的信息*/
int i,j,n,e; /*顶点个数n,边的条数e*/
printf("****************\n 图的建立与输出\n****************\n\n");
printf("请输入顶点的个数:");
scanf("%d",&n);
printf("--------------------\n");
a=(DataType *)malloc(sizeof(DataType)*n); /*申请存放n个顶点的空间*/
for(i=0;i<n;i++) /*输入n个顶点字符*/
{
printf("第%d个顶点:",i+1);
scanf("%s",&a[i]);
}
printf("\n请输入边的条数:");
scanf("%d",&e);
rcw=(RowColWeight*)malloc(sizeof(RowColWeight)*e); /*申请存放e条边信息的空间*/
for(i=0;i<e;i++) /*输入e条边的信息*/
{
printf("--------------------\n边的信息输入%d:\n--------------------\n",i+1);
printf("起始顶点的序号:");
scanf("%d",&rcw[i].row);
printf("邻接顶点的序号:");
scanf("%d",&rcw[i].col);
printf(" 边的权值:");
scanf("%d",&rcw[i].weight);
printf("\n");
}
CreatGraph(&g1,a,n,rcw,e); /*创建图*/
printf("建立的图为:\n====================\n顶点集合为:");
for(i=0;i<g1.Vertices.size;i++) /*输出顶点集合*/
printf("%4c ",g1.Vertices.list[i]);
printf("\n");
printf("权值集合为:\n");
for(i=0;i<g1.Vertices.size;i++) /*输出图的邻接矩阵*/
{
printf(" ");
for(j=0;j<g1.Vertices.size;j++)
printf("%8d",g1.edge[i][j]);
printf("\n\n");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -