概述
#include<stdio.h>
#include<stdlib.h>
#define N 100
typedef struct
{
int vers[N];//顶点
int arcs[N][N];//邻接矩阵
int n,e;//n为顶点数,e为边
}graph;
void createUDG(graph *G)
{
int i,j,k,a,b;
printf("输入顶点数和边数:");
scanf("%d %d",&(G->n),&(G->e));
printf("输入顶点信息:");
for(i=0;i<(G->n);i++)
scanf("%d",&(G->vers[i]));
for(i=0;i<(G->n);i++)
for(j=0;j<(G->n);j++)
G->arcs[i][j]=0;//邻接矩阵初始化为0
printf("n");
for(k=0;k<(G->e);k++)
{
int x,y;
printf("输入第%d条边的两个顶点:",k+1);
scanf("%d %d",&x,&y);
if(x>(G->n)||y>(G->n))
{
printf("Error");
}
for(i=0;x!=(G->vers[i]);i++);
for(j=0;y!=(G->vers[j]);j++);
G->arcs[i][j]=G->arcs[j][i]=1;//构造邻接矩阵,确定每条边的两个顶点的下标
}
}
int main()
{
graph G;
int i,j;
createUDG (&G);
printf("Outputn");
for(i=0;i<(G.n);i++)
{
for(j=0;j<(G.n);j++)
printf("%2d",G.arcs[i][j]);
printf("n");
}
return 0;
}
最后
以上就是害羞小甜瓜为你收集整理的无向图 c语言 (数据结构)的全部内容,希望文章能够帮你解决无向图 c语言 (数据结构)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复