8_2_1.C
上传用户:wyn840322
上传日期:2007-01-13
资源大小:294k
文件大小:2k
- /* ======================================== */
- /* 程式实例: 8_2_1.c */
- /* 图形的邻接数组表示法 */
- /* ======================================== */
- int matrix[6][6]; /* 图形的邻接数组 */
- /* ---------------------------------------- */
- /* 建立图形 */
- /* ---------------------------------------- */
- void creategraph(int *node,int num)
- {
- int from; /* 边线的起点 */
- int to; /* 边线的终点 */
- int i;
- for ( i = 0; i < num; i++ ) /* 读取边线的回路 */
- {
- from = node[i*2]; /* 边线的起点 */
- to = node[i*2+1]; /* 边线的终点 */
- matrix[from][to] = 1; /* 存入图形 */
- }
- }
- /* ---------------------------------------- */
- /* 主程式: 建立图形后,将邻接数组印出. */
- /* ---------------------------------------- */
- void main()
- {
- int node[12][2] = { {1, 2}, {2, 1}, /* 边线数组 */
- {1, 3}, {3, 1},
- {2, 3}, {3, 2},
- {2, 4}, {4, 2},
- {3, 5}, {5, 3},
- {4, 5}, {5, 4} };
- int i,j;
- for ( i = 1; i <= 5; i++ )
- for ( j = 1; j <= 5; j++ )
- matrix[i][j] = 0; /* 清除图形邻接数组 */
- creategraph(node,12); /* 建立图形 */
- printf("图形的邻接数组内容:n");
- for ( i = 1; i <= 5; i++ )
- {
- for ( j = 1; j <= 5; j++ )
- printf(" %d ",matrix[i][j]); /* 印出数组内容 */
- printf("n"); /* 换行 */
- }
- }