C语言建立有向图的邻接矩阵及其遍历操作
1
2 #include"stdio.h"
3 #include"stdlib.h"
4
5 typedef char elemtype;
6 #define maxsize 10
7 #define queuesize 100
8 typedef struct{
9 elemtype vex[maxsize];
10 int arc[maxsize][maxsize];
11 int n,e;
12 }graph;
13
14 int locatevex(graph g,elemtype v)
15 {
16 int i;
17 for(i=0;i<g.n;i++)if(g.vex[i]==v)return i;
18 return -1;
19 }
20
21 void print(graph g)
22 {
23 int i,j;
24 printf("图的邻接矩阵表示:\n");
25 for(i=0;i<g.n;i++){
26 for(j=0;j<g.n;j++){
27 printf("%3d",g.arc[i][j]);
28 }
29 printf("\n");
30 }
31 }
32
33 void creategraph(graph *g){
34 int i,j,k;
35 elemtype v1,v2;
36 printf("请输入顶点数和边数:\n");
37 printf("顶点数n=");scanf("%d",&g->n);
38 printf("边 数e=");scanf("%d",&g->e);
39 printf("请输入图的顶点信息:\n"