数组邻接表
来源:互联网 发布:公司网络有限制 编辑:程序博客网 时间:2024/05/16 05:51
原文链接:点击打开链接
有向图:
#include <cstdio>#include <cstring>#include <string>#include <iostream>#include <algorithm>using namespace std;const int maxn=1e6;struct node{ int u,v,w;};node edge[maxn];int next[maxn],first[maxn];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(first,-1,sizeof(first)); // memset(next,-1,sizeof(next)); for(int i=0;i<n;i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); edge[i].u=a; edge[i].v=b; edge[i].w=c; next[i]=first[a]; first[a]=i; } //遍历1的 for(int i=first[1];i!=-1;i=next[i]) { printf("%d %d %d\n",edge[i].u,edge[i].v,edge[i].w); } } return 0;}
无向图:
#include <cstdio>#include <cstring>#include <string>#include <iostream>#include <algorithm>using namespace std;const int maxn=1e6;struct node{ int u,v,w;};node edge[maxn];int next[maxn],first[maxn];int main(){ int n; while(scanf("%d",&n)!=EOF) { memset(first,-1,sizeof(first)); // memset(next,-1,sizeof(next)); int cnt=0; for(int i=0;i<n;i++) { int a,b,c; scanf("%d%d%d",&a,&b,&c); edge[cnt].u=a; edge[cnt].v=b; edge[cnt].w=c; next[cnt]=first[a]; first[a]=cnt; cnt++; edge[cnt].v=a; edge[cnt].u=b; edge[cnt].w=c; next[cnt]=first[b]; first[b]=cnt; cnt++; } //遍历1的 for(int i=first[1];i!=-1;i=next[i]) { printf("%d %d %d\n",edge[i].u,edge[i].v,edge[i].w); } } return 0;}
0 0
- 数组邻接表
- 数组模拟邻接表
- 数组实现邻接表
- 数组邻接表
- 数组表示邻接表
- 邻接表数组实现
- 【邻接表】数组模拟邻接表
- 邻接表的数组实现
- 用数组模拟邻接表
- 邻接表(数组实现)
- 邻接表的数组实现
- 使用数组存储邻接表
- 用数组模拟邻接表
- 用数组实现邻接表
- 数组模拟实现邻接表
- 数组形式实现邻接表
- 邻接表的数组实现
- 图邻接表数组存储
- 【小练习】轮播图的封装
- iOS中强制app竖屏的解决办法
- leetcode-35. Search Insert Position
- USACO-Runaround Numbers(枚举)
- Nginx中的请求(nginx_http_request_t)
- 数组邻接表
- 订单可视化(智能制造、流程再造、企业信息化) 第七篇 经营班子掌舵,业务与开发分离,走向成功必备条件
- 代码编写过程中应该考虑的时序优化(笔记)
- Apache POI介绍
- 寻找递减最长路径
- 廖雪峰python教程阅读之python简介
- 201609 CCF 第二题 火车购票
- Problem D: 从点到面
- 成员模板