数据结构-图-存储-邻接矩阵-邻接表

数据结构-图-存储

邻接矩阵

存储如下图1,图2

图1

对应邻接矩阵

图2

cpp 复制代码
#include<bits/stdc++.h>
#define MAXN 1005
using namespace std;
int n;
int v[MAXN][MAXN]; 
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cin>>v[i][j];
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            if(v[i][j]>0){
                cout<<"edge from point "<<i<<" to point "<<j
                <<" with length "<<v[i][j]<<"\n"; 
            }
        } 
    }
    return 0;
}

运行效果:

邻接表

存储示例代码:

cpp 复制代码
#include<bits/stdc++.h>
#define MAXN 1005
using namespace std;
struct edge{
    int to,cost;
};
int n,m;
vector<edge> p[MAXN];
int v[MAXN][MAXN];
int main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int u,v,l;
        cin>>u>>v>>l;
        p[u].push_back((edge){v,l
        });
    }
    for(int i=1;i<=n;i++){
        for(int j=0;j<p[i].size();j++){
            v[i][p[i][j].to]=p[i][j].cost;
        }
    }
    for(int i=1;i<=n;i++){
        for(int j=1;j<=n;j++){
            cout<<v[i][j]<<' ';
        }
        cout<<"\n";
    }
    return 0;
}

运行效果

相关推荐
小指纹1 小时前
图论-最短路Dijkstra算法
数据结构·c++·算法·深度优先·图论
皮蛋瘦肉粥_1211 小时前
代码随想录day52图论3
图论
骑着猪去兜风.1 小时前
搜索与图论(最小生成树 二分图)
图论
KyollBM1 小时前
【CF】Day115——杂题 (构造 | 区间DP | 思维 + 贪心 | 图论 + 博弈论 | 构造 + 位运算 | 贪心 + 构造 | 计数DP)
图论
再卷也是菜4 小时前
数据结构(12)二叉树
数据结构
qq_513970444 小时前
力扣 hot100 Day63
数据结构·算法·leetcode
皮蛋瘦肉粥_1214 小时前
代码随想录day50图论1
图论
lifallen4 小时前
AbstractExecutorService:Java并发核心模板解析
java·开发语言·数据结构·算法
神器阿龙4 小时前
排序算法-归并排序
数据结构·算法·排序算法
爱吃KFC的大肥羊7 小时前
C/C++常用字符串函数
c语言·数据结构·c++·算法