从文件中读取图表

时间:2015-02-28 21:13:50

标签: c++ graph fileinputstream

我正在进行一项任务,我必须为无向图实现dijkstra算法。我必须从文本文件中读取图形。我已经实现了以下功能:

graph :: graph()
{
    ifstream fe("adj.txt");
    for(int i=0;i<SIZE;i++)
    {
        for(int j=0;j<SIZE;j++)
        mat[i][j]=0;
    }
    string str;
    while(getline(fe,str))
    {

        istringstream ss(str);
        int node,i;
        ss>>node;
        while(ss>>i)
        mat[node-1][i-1]=1;
    }
}

mat是2-d数组,size是节点数。

文件位于邻接列表中。行中的第一个数字表示节点,之后的数字表示节点附近的节点。

mat是2-d数组,size是节点数。 它的功能适用于少量顶点,但随着我增加尺寸(200),并尝试打印图形(以矩阵形式),打印不会从第一个节点开始(在我的情况下,它从第116个顶点)。 我怎样才能使它适用于大尺寸图形?

编辑:我使用简单的双循环打印图表。

void graph:: printgraph()
{
    for(int i=0;i<SIZE;i++)
    {
        for(int j=0;j<SIZE;j++)
        {

            cout<<mat[i][j]<<" ";
        }
        cout<<endl;
    }
}

0 个答案:

没有答案