데이터 구조의 그림 - 인접 행렬
1.
typedef int VType;
typedef struct
{
//
VType v[N];
//
int matrix[N][N];
}Graph;
1.
Graph *greate_graph()
{
, 0,g
for(i = 0;i < N;i++)
{
g->v[i] = i;
}
g
}
void input_edge(Graph *g)
{
int i = 0,j = 0;
//(V0,V1) (V0,V2) ...
while(scanf("(V%d,V%d) ",&i,&j) == 2)
{
//getchar();
g->matrix[i][j] = g->matrix[j][i] = 1;
}
}
void print_matrix(Graph *g)
{
}
#include
#include
#include
#include
#define N 5
typedef int VType;
typedef struct
{
VType v[N];
int matrix[N][N];
}Graph;
Graph *create_graph()
{
Graph *g = NULL;
int i = 0;
g = (Graph *)malloc(sizeof(Graph));
//memset(g,0,sizeof(Graph));
bzero(g,sizeof(Graph));
for(i = 0;i < N;i++)
{
g->v[i] = i;
}
return g;
}
void input_edge(Graph *g)
{
int i = 0,j = 0;
printf("Input edge like (V0,V1) (V0,V2) ...
");
//(V0,V1) (V0,V2) (V0,V3) ...
while(scanf("(V%d,V%d) ",&i,&j) == 2)//scanf
{
//getchar();
g->matrix[i][j] = g->matrix[j][i] = 1;
}
//
while(getchar() != '
');
return ;
}
void print_matrix(Graph *g)
{
int i = 0,j = 0;
printf("%-4c",' ');
for(i = 0;i < N;i++)
{
printf("V%-3d",i);
}
putchar('
');
for(i = 0;i < N;i++)
{
printf("V%-3d",i);
for(j = 0;j < N;j++)
{
printf("%-4d",g->matrix[i][j]);
}
putchar('
');
}
return ;
}
int main()
{
Graph *g = NULL;
g = create_graph();
input_edge(g);
print_matrix(g);
input_edge(g);
puts("=============================");
print_matrix(g);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Sparse Table을 아십니까? 나는 알고 있다.Sparse Table을 지금 배웠으므로, 메모를 겸해 씁니다. 불변의 수열의 임의의 구간에 대한 최소치/최대치를, 전처리 $O(N\log N)$, 쿼리 마다 $O(1)$ 로 구하는 데이터 구조입니다. 숫자 열의 값...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.