无向图的邻接矩阵存储,4个顶点、4条边
?
//
//? main.cpp
//? Graph_wuxiang
//
//? Created by duanqibo on 2019/6/29.
//? Copyright ? 2019年 duanqibo. All rights reserved.
//? 無向圖的鄰接矩陣存儲(chǔ),4個(gè)頂點(diǎn)、4條邊,v0到v1:權(quán)30;v0到v2:權(quán)80;
//? v1到v2:權(quán)50;v2到v3:權(quán)40;其他非鄰接點(diǎn)之間用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("輸入頂點(diǎn)數(shù)和邊數(shù):");
? ? ? ? scanf("%d%d",&n,&e);
? ? ? ? g->vexnum=n;
? ? ? ? g->arcnum=e;
? ? ? ? for(i=0;i<g->vexnum;i++)
? ? ? ? {
? ? ? ? ? ? getchar();
? ? ? ? ? ? printf("第%d個(gè)頂點(diǎn):\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);??
}
?運(yùn)行結(jié)果如下:
?
轉(zhuǎn)載于:https://www.cnblogs.com/duanqibo/p/11106815.html
總結(jié)
以上是生活随笔為你收集整理的无向图的邻接矩阵存储,4个顶点、4条边的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求解,实木定制地板用柏尔好吗?有用过的吗
- 下一篇: 用过的朋友推荐一下,定制地板哪个品牌好?