静态建表(链式前向星)

邻接表的静态建表存储图的方式也称链式前向星。链式前向星方法最开始是基于前向星,是以提高其构造效率为目的设计的存储方式,

最终形成的数据却是一个变形的邻接表。链式前向星是目前建图和遍历效率最高的存储方式。

#include <bits/stdc++.h>

using namespace std;

typedef long long LL;
const int maxn = 100005;
int head[maxn];
struct EdgeNode {//存边的结构数据
  int to;
  int w;
  int next;
}edge[maxn];
int main() {
  //freopen("in.txt","r",stdin);
  //freopen("out.txt","w",stdout);
  int n, m, i, j, w;
  memset(head,-1,sizeof(head));
  cin >> n >> m;//读取数据
  for(int k = 0; k < m; k++) {//信息存储
    cin >> i >> j >> w;
  edge[k].to = j;
  edge[k].w = w;
  edge[k].next = head[i];
  head[i] = k;
  }
  for(int i = 1; i <= n; i++) {//遍历
    for(int k = head[i];k != -1 ; k = edge[k].next) {
      cout << i << " "<< edge[k].to << " " << edge[k].w << endl;
    }
  }
  return 0;
}

posted @ 2017-04-04 10:36  启动  阅读(242)  评论(0编辑  收藏  举报