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

数据结构-图-存储

邻接矩阵

存储如下图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;
}

运行效果

相关推荐
2301_7703737328 分钟前
数据结构之跳表
数据结构
散11229 分钟前
01数据结构-初探动态规划
数据结构·动态规划
纵有疾風起2 小时前
数据结构中的排序秘籍:从基础到进阶的全面解析
c语言·数据结构·算法·排序算法
_OP_CHEN4 小时前
数据结构(C语言篇):(十三)堆的应用
c语言·数据结构·二叉树·学习笔记·堆排序··top-k问题
靠近彗星6 小时前
2.1线性表
数据结构
island13146 小时前
【Redis#9】其他数据结构
数据结构·数据库·redis
行走的bug...6 小时前
用图论来解决问题
算法·图论
nsjqj7 小时前
数据结构:优先级队列(堆)
数据结构
JasmineX-18 小时前
数据结构——顺序表(c语言笔记)
c语言·开发语言·数据结构·笔记
I'm a winner10 小时前
第五章:Python 数据结构:列表、元组与字典(一)
开发语言·数据结构·python