输入就像这样
5 // is # of vertices
1 1 0 1 // 1<->2 1<->3 1<->4 1<->5
0 0 0 // 2<->3 2<->4 2<->5
0 1 // 3<->4 3<->5
1 // 4<->5
我想在插入输入时制作邻接矩阵。怎么做?
我已经制作了像这样的矩阵
array = (int)malloc(sizeof(int)*numVetex);
答案 0 :(得分:2)
有很多方法可以做到这一点。这是其中之一:
int **array;
int numVertex;
int i,j;
scanf("%d",&numVertex);
array = malloc(sizeof(int*) * numVertex);
for(i=0;i<numVertex;i++) {
array[i] = malloc(sizeof(int) * numVertex);
}
for(i=0;i<numVertex-1;i++) {
for(j=i+1;j<numVertex;j++) {
scanf("%d",&array[i][j]);
array[j][i] = array[i][j];
}
array[i][i] = 0;
}
// use array
// free it