无向图的邻接矩阵存储,4个顶点、4条边
?
//
//? main.cpp
//? Graph_wuxiang
//
//? Created by duanqibo on 2019/6/29.
//? Copyright ? 2019年 duanqibo. All rights reserved.
//? 無向圖的鄰接矩陣存儲,4個頂點、4條邊,v0到v1:權30;v0到v2:權80;
//? v1到v2:權50;v2到v3:權40;其他非鄰接點之間用32767表示;
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
? ? typedef char VertexType;
? ? typedef int WeightType;
? ? const int vnum=4;
? ? const int MAX_INT=32767;
? ? typedef struct gp
? ? {
? ? ? ? VertexType vexs[vnum];
? ? ? ? WeightType arcs[vnum][vnum];
? ? ? ? int vexnum,arcnum;
? ? }WGraph;
? ? void CreateGraph(WGraph *g)
? ? {
? ? ? ? int i,j,n,e,w,k;
? ? ? ? char ch;
? ? ? ? printf("輸入頂點數和邊數:");
? ? ? ? scanf("%d%d",&n,&e);
? ? ? ? g->vexnum=n;
? ? ? ? g->arcnum=e;
? ? ? ? for(i=0;i<g->vexnum;i++)
? ? ? ? {
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("第%d個頂點:\n",i);
? ? ? ? ? ? scanf("%c",&ch);
? ? ? ? ? ? g->vexs[i]=ch;
? ? ? ? }? ? ??
? ? ? ? for(i=0;i<g->vexnum;i++)
? ? ? ? ? ? for(j=0;j<g->vexnum;j++)
? ? ? ? ? ? ? ? g->arcs[i][j]=MAX_INT;
?? ? ? ?
? ? ? ? for(k=0;k<g->arcnum;k++)
? ? ? ? {
? ? ? ? ? ? scanf("%d%d%d",&i,&j,&w);
? ? ? ? ? ? g->arcs[i][j]=w;
? ? ? ? ? ? g->arcs[j][i]=w;
? ? ? ? }
? ? }
? ? void OutGraph(WGraph *g)
? ? {
? ? ? ? int i,j;
? ? ? ? for(i=0;i<g->vexnum;i++)
? ? ? ? {
? ? ? ? ? ? for(j=0;j<g->vexnum;j++)
? ? ? ? ? ? ? ? printf("%d ",g->arcs[i][j]);
? ? ? ? ? ? printf("\n");
? ? ? ? }
? ? }??
? ? int main(int argc, const char * argv[]) {??
? ? ? ? WGraph g;
? ? ? ? CreateGraph(&g);
? ? ? ? printf("輸出矩陣:\n");
? ? ? ? OutGraph(&g);??
}
?運行結果如下:
?
轉載于:https://www.cnblogs.com/duanqibo/p/11106815.html
總結
以上是生活随笔為你收集整理的无向图的邻接矩阵存储,4个顶点、4条边的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求解,实木定制地板用柏尔好吗?有用过的吗
- 下一篇: 嵌入式应用开发第一阶段