c语言 把邻接矩阵的相关数据存入文件中

MGraph CreatMG(MGraph g)
{
int i,j,k,n;

cout<<"输入顶点数和边数";
cin>>g.n>>g.e;

for(i=0;i<g.n;i++)
{
    cout<<"序号为"<<i<<"的值";
    cin>>g.vexs[i].data;
    g.vexs[i].no=i;
}

for(i=0;i<g.n;i++)
{
    for(j=0;j<g.n;j++)
    {
        g.edges[i][j]=0;
    }
}

for(k=0;k<g.e;k++)
{
    cout<<"输入该边的始点与终点以及权值";
    cin>>i>>j>>n;

    g.edges[i][j]=n; 
}

return g;

}这是邻接矩阵的建立

1个回答

如果MGraph 是结构体,用二进制存取最方便。你的函数建议用引用:

 void CreatMG(MGraph &g);

#include<stdio.h>
void main()
{
    MGraph mg;
    FILE * fp;
    CreatMG(mg);
    fp=fopen("data.dat","wb");
    if(fp==NULL) return;
    fwrite(&mg,sizeof(MGraph),1,fp);
    fclose(fp);
}

qq_27183003
ysuwood fp=fopen("data.dat","rb");
4 年多之前 回复
qq_27183003
ysuwood fread(&mg,sizeof(MGraph),1,fp);
4 年多之前 回复
SAOE2
SAOE2 那怎么读取啊。。。想不通啊
4 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐