问题描述
- 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;
}这是邻接矩阵的建立
解决方案
如果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);
}
时间: 2024-12-01 12:32:28