关于vector的介绍请看
https://www.cnblogs.com/zsq1993/p/5929806.html
https://zh.cppreference.com/w/cpp/container/vector
下面是利用vector模拟邻接表的演示代码:
#include<iostream> #include<stdio.h> #include<vector> using namespace std; #define maxN 100 #define maxE 10000 struct EdgeNode { int to; int w; }; vector<EdgeNode> map[maxN]; int main(int argc, char** argv) { int n,m; int i,j,w; EdgeNode e; freopen("data.in","r",stdin); cin>>n>>m;//n个点,m条边 ;k<m;k++) { cin>>i>>j>>w; e.to=j; e.w=w; map[i].push_back(e); } ;i<=n;i++) { for(vector<EdgeNode>::iterator k=map[i].begin();k!=map[i].end();k++) { EdgeNode t=*k; cout<<i<<' '<<t.to<<' '<<t.w<<endl; } } ; }
输入样例:
8 12
5 8 29
6 1 12
8 3 11
1 2 4
3 1 22
4 3 17
7 4 25
6 5 9
8 7 7
1 6 9
3 2 19
6 7 4
运行结果:
1 2 4
1 6 9
3 1 22
3 2 19
4 3 17
5 8 29
6 1 12
6 5 9
6 7 4
7 4 25
8 3 11
8 7 7