数据结构里面图的问题
typedefintInfoType;#defineMAXV100//最大顶点个数//以下定义邻接矩阵类型typedefstruct{intno;//顶点编号InfoTy...
typedef int InfoType;#define MAXV 100 //最大顶点个数//以下定义邻接矩阵类型typedef struct { int no; //顶点编号 InfoType info; //顶点其他信息} VertexType; //顶点类型typedef struct //图的定义{ int edges[MAXV][MAXV]; //邻接矩阵 int vexnum,arcnum; //顶点数,弧数 VertexType vexs[MAXV]; //存放顶点信息} MGraph; //图的邻接矩阵类型//以下定义邻接表类型typedef struct ANode //弧的结点结构类型{ int adjvex; //该弧的终点位置 struct ANode *nextarc; //指向下一条弧的指针 InfoType info; //该弧的相关信息,这里用于存放权值} ArcNode;typedef int Vertex;typedef struct Vnode //邻接表头结点的类型{ Vertex data; //顶点信息 ArcNode *firstarc; //指向第一条弧} VNode;typedef VNode AdjList[MAXV]; //AdjList是邻接表类型typedef struct { AdjList adjlist; //邻接表 int n,e; //图中顶点数n和边数e} ALGraph; //图的邻接表类型
想问下是怎么回事~ 展开
想问下是怎么回事~ 展开
3个回答
展开全部
我测试过你这段代码,是没有问题的。
从 bug 的提示来看,我猜测应该是你载入的 .h 文档有重复的定义导致的,请检查其他地方是否也定义了 VertexType 这个结构
我在 VC6 上测试下面的代码是没有问题的,你可以看看
#include <stdio.h>
typedef int InfoType;
#define MAXV 100 //最大顶点个数
//以下定义邻接矩阵类型
typedef struct
{
int no; //顶点编号
InfoType info; //顶点其他信息
} VertexType; //顶点类型
typedef struct //图的定义
{
int edges[MAXV][MAXV]; //邻接矩阵
int vexnum,arcnum; //顶点数,弧数
VertexType vexs[MAXV]; //存放顶点信息
} MGraph; //图的邻接矩阵类型
//以下定义邻接表类型
typedef struct ANode //弧的结点结构类型
{
int adjvex; //该弧的终点位置
struct ANode *nextarc; //指向下一条弧的指针
InfoType info; //该弧的相关信息,这里用于存放权值
} ArcNode;
typedef int Vertex;
typedef struct Vnode //邻接表头结点的类型
{
Vertex data; //顶点信息
ArcNode *firstarc; //指向第一条弧
} VNode;
typedef VNode AdjList[MAXV]; //AdjList是邻接表类型
typedef struct
{
AdjList adjlist; //邻接表
int n,e; //图中顶点数n和边数e
} ALGraph; //图的邻接表类型
void main()
{
VertexType a;
MGraph b;
ArcNode c;
VNode d;
ALGraph e;
}
从 bug 的提示来看,我猜测应该是你载入的 .h 文档有重复的定义导致的,请检查其他地方是否也定义了 VertexType 这个结构
我在 VC6 上测试下面的代码是没有问题的,你可以看看
#include <stdio.h>
typedef int InfoType;
#define MAXV 100 //最大顶点个数
//以下定义邻接矩阵类型
typedef struct
{
int no; //顶点编号
InfoType info; //顶点其他信息
} VertexType; //顶点类型
typedef struct //图的定义
{
int edges[MAXV][MAXV]; //邻接矩阵
int vexnum,arcnum; //顶点数,弧数
VertexType vexs[MAXV]; //存放顶点信息
} MGraph; //图的邻接矩阵类型
//以下定义邻接表类型
typedef struct ANode //弧的结点结构类型
{
int adjvex; //该弧的终点位置
struct ANode *nextarc; //指向下一条弧的指针
InfoType info; //该弧的相关信息,这里用于存放权值
} ArcNode;
typedef int Vertex;
typedef struct Vnode //邻接表头结点的类型
{
Vertex data; //顶点信息
ArcNode *firstarc; //指向第一条弧
} VNode;
typedef VNode AdjList[MAXV]; //AdjList是邻接表类型
typedef struct
{
AdjList adjlist; //邻接表
int n,e; //图中顶点数n和边数e
} ALGraph; //图的邻接表类型
void main()
{
VertexType a;
MGraph b;
ArcNode c;
VNode d;
ALGraph e;
}
景联文科技
2024-06-11 广告
2024-06-11 广告
杭州景联文科技有限公司专注于大模型数据集的研发与应用。我们深知,在人工智能飞速发展的时代,数据是驱动模型优化的核心动力。因此,我们致力于构建丰富、多元的大模型数据集,涵盖各行各业,为AI模型提供充足的“养分”。通过不断积累与优化,我们的数据...
点击进入详情页
本回答由景联文科技提供
展开全部
类型名应跟在struct之后,像这样:
typedef struct VertexType
{ int no; //顶点编号
InfoType info; //顶点其他信息
}; //顶点类型
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
编译错误;
你最好逐行分析;第一行VertexType错误提示不是基本类型,没有定义;
你这段程序是将课本上的例子抄写下来的吧。根据错误提示,需要将没有定义的类型自己定义说明一下。
你最好逐行分析;第一行VertexType错误提示不是基本类型,没有定义;
你这段程序是将课本上的例子抄写下来的吧。根据错误提示,需要将没有定义的类型自己定义说明一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |