zoukankan      html  css  js  c++  java
  • 图的存储

    以下存取方式均为带权图

    一、邻接矩阵

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 int n,m,a[1000][1000],x,y,c;
     5 int main()
     6 {
     7     scanf("%d%d",&n,&m);
     8     memset(a,0,sizeof(a)); //默认没有边
     9     for (int i=1;i<=m;i++)
    10     {
    11         scanf("%d%d%d",&x,&y,&c);
    12         a[x][y]=c;
    13      } 
    14     for (int i=1;i<=n;i++)
    15     {
    16         for (int j=1;j<=n;j++) printf("%d ",a[i][j]);
    17         printf("
    "); 
    18     }
    19     return 0;
    20  } 

    二、邻接链表

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 
     4 const int maxn=1000;
     5 const int maxm=10000;
     6 struct Edge
     7 {
     8     int x,y,next,c;
     9 }edge[maxm*2];
    10 int sumedge,head[maxn],x,y,c,n,m;
    11 int insedge(int x,int y,int c)
    12 {
    13     sumedge++;
    14     edge[sumedge].x=x;
    15     edge[sumedge].y=y;
    16     edge[sumedge].next=head[x];
    17     edge[sumedge].c=c;
    18     head[x]=sumedge;
    19     return 0;
    20 }
    21 int main()
    22 {
    23     scanf("%d%d",&n,&m);
    24     sumedge=0;
    25     memset(head,0,sizeof(head));
    26     for (int i=1;i<=m;i++)
    27     {
    28         scanf("%d%d%d",&x,&y,&c);
    29         insedge(x,y,c);
    30         insedge(y,x,c); 
    31      } 
    32     return 0;
    33  } 
  • 相关阅读:
    常见模块和包
    二分查找算法
    常见内置函数
    Django总目录
    nginx配置站点
    Arduino语言
    Python连接Arduino的方法
    机器人学习
    Redis
    arduino总目录
  • 原文地址:https://www.cnblogs.com/9pounds15pence/p/6349666.html
Copyright © 2011-2022 走看看