利用vector进行图的存储
生活随笔
收集整理的這篇文章主要介紹了
利用vector进行图的存储
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2018-3-30
圖的存儲有多種方式,我個人比較常用的就是鄰接矩陣(存儲方式是用兩個數組來表示圖,一個一維數組存儲圖中頂點信息,一個二維數組存儲圖中的邊或者弧的信息),優點就是構建起來比較方便,而且我們也可以比較方便的知道任意兩點是否有邊無邊。缺點是如果圖中邊比較少這樣會比較浪費我們的存儲空間。
但是這里我要說的是使用vector進行存圖:
#include<iostream> #include<vector> #include<algorithm> using namespace std;const int N = 100; struct Edge{int to,value; }e; vector<Edge> G[N+1]; int m,n,tmp;int main(){cin>>n>>m;for (int i=0;i<m;i++){cin>>tmp>>e.to>>e.value;G[tmp].push_back(e);}for (int i=1;i<=n;i++){for (int j=0;j<G[i].size();j++){e=G[i][j];cout<<"From "<<i<<" to "<<e.to<<", the cost is "<<e.value<<endl;}}return 0; }總結
以上是生活随笔為你收集整理的利用vector进行图的存储的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: poj1789 Truck Histor
- 下一篇: linux下的setenv使用