免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4930 | 回复: 5
打印 上一主题 下一主题

读取位置时发生冲突,没有错误啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-06-01 14:43 |只看该作者 |倒序浏览
以下是以邻接表为存储结构创建一个图的时候的部分程序
typedef struct ArcNode{
int num; //结点编号
ARC_INFO_TYPE* info;//弧的其他相关信息,如权值等等
struct ArcNode* nextArcNode;//指向下一个表结点的指针
}ArcNode;
//顶点(头节点)
typedef struct VNode{
VERTEX_TYPE data;//顶点的数据
ArcNode* firstArcNode;//指向第一个弧结点的指针
}VNode, AdjList[MAX_VERTEX_NUM];//邻接表
======================
以下创建图:
int CreateALGraph(void){
int i;
int v1,v2;//暂时存放两个相关联点的编号
ArcNode* p;
printf("输入结点个数,边数,图类型:\n");
scanf("%d,%d,%d",&Graph.vertexNum,&Graph.arcNum,&Graph.kind);
printf("输入顶点的数据:\n");
for(i = 0; i < Graph.vertexNum; ++i){ //初始化各个顶点(头节点)
scanf("%c",&adjList[i].data);
adjList[i].firstArcNode = NULL;
}
printf("输入相关联的边:\n");
for(i = 0 ; i < Graph.arcNum; ++i){ //输入所有边(关联的点)编号
scanf("%d,%d",&v1,&v2);
p = (ArcNode*)malloc(sizeof(ArcNode));
p->num = v2;
p- >nextArcNode = adjList[v1].firstArcNode;//这里有问题:提示: DepthFirstSearch.exe 中的 0x0041151d 处未处理的异常: 0xC0000005: 读取位置 0x66a7d804  时发生访问冲突。还有提示:p->nextArcNode = 0xcdcdcdcd {num=??? info=???  nextArcNode=??? }
adjList[v1].firstArcNode = p;
if(!Graph.kind){ //若为无向图
p = (ArcNode*)malloc(sizeof(ArcNode));
p->num = v1;
p->nextArcNode = adjList[v2].firstArcNode;
adjList[v2].firstArcNode = p;
}
}
return 1;
}
//寻求大家的帮助,谢谢

论坛徽章:
0
2 [报告]
发表于 2007-06-01 18:46 |只看该作者
顶一下

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
3 [报告]
发表于 2007-06-01 19:33 |只看该作者
原帖由 lyhorg 于 2007-6-1 14:43 发表
以下是以邻接表为存储结构创建一个图的时候的部分程序
typedef struct ArcNode{
int num; //结点编号
ARC_INFO_TYPE* info;//弧的其他相关信息,如权值等等
struct ArcNode* nextArcNode;//指向下一个表结点的 ...

怎一个乱字了得

论坛徽章:
0
4 [报告]
发表于 2007-06-01 21:58 |只看该作者
就是如下的含义:
typedef struct ArcNode{
int num; //结点编号
char* info;//弧的其他相关信息,如权值等等
struct ArcNode* nextArcNode;//指向下一个表结点的指针
}ArcNode;

论坛徽章:
0
5 [报告]
发表于 2007-06-02 08:01 |只看该作者
0xcdcdcdcd说的是指针没有初始化的问题,但是p- >nextArcNode = adjList[v1].firstArcNode;就是初始化啊? 郁闷,寻求高手解决

论坛徽章:
0
6 [报告]
发表于 2007-06-02 10:53 |只看该作者
firstArcNode一直还是NULL吧?没有发现你在那里给这东西分派存储吧.
你这代码太乱,没仔细看,大体感觉而已.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP