#include <iostream>
#include <vector>
using namespace std;
void addEdge(vector<vector<int> > adj, int, int);
void print_graph(vector<vector<int> > adj);
int main()
{
vector<vector<int> > adj(4);
addEdge(adj,1,2); // edge from node 1 to node 2
addEdge(adj,1,3);
addEdge(adj,1,4);
addEdge(adj,2,3);
addEdge(adj,3,4);
print_graph(adj);
return 0;
}
void addEdge(vector<vector<int> > adj, int u , int v)
{
adj[u].push_back(v);
}
void print_graph(vector<vector<int> > adj)
{
for(int i = 0; i < adj.size() ; i++)
{
for(int j = 0 ; j < adj[i].size(); j++)
{
cout<< i+1 << " , " << cout<< adj[i][j]<<endl;
}
}
}
我已經寫出了讀取圖形並打印它的代碼。
在此之前,爲讀圖我用如何使用矢量矢量讀取圖形?
vector<int>adj[5];
但我被告知,使用
`vector<vector<int> > adj` or `list<list<int> > adj`
我試過,但現在我得到無輸出。 (更新)
誰能幫助我在使用矢量的載體?請幫助名單也。
謝謝你的答覆。我按照你說的方式做了改變,但我沒有得到輸出。輸出屏幕是空白的。 – Tushar
我檢查過,在print_graph()中,innermost for循環不起作用。控制不進入最內層for循環(這就是爲什麼沒有在屏幕上打印)爲什麼? – Tushar