是关于dijstra最短路径算法的
程序编译没错误但是运行不出来,类似的情况已是第二次出现,但不知为什么
#include<stdio.h>
#define MAX 20
#define INFINITY 1000
#define NULL 0
#define OK 0
typedef int** PathMatrix;
typedef int* ShortPathTable;
typedef struct{
int adj;
int *info;
}ArcCell,AdjMatrix[MAX][MAX];
typedef struct{
char vex[MAX];//图顶点的集合
AdjMatrix arcs;
int vexnum,arcnum;//图的顶点数和弧长数
}MGraph;
int CreateUDN(MGraph &G){//图的数组表示法
int Incinfo,i,j;
printf("please input the vexnum and the arcnum:\n");
G.vexnum=5;
G.arcnum=5;Incinfo=1;//scanf("%d %d %d",&G.vexnum,&G.arcnum,&Incinfo);
for(i=0;i<G.vexnum;i++)
scanf("%c",G.vex[i]);
for(i=0;i<G.vexnum;i++)
for(j=0;j<G.vexnum;j++){
G.arcs[i][j].adj=INFINITY;
G.arcs[i][j].info=NULL;
}
for(i=0;i<G.vexnum;i++){
printf("please put into the node connected with %c:\n",G.vex[i]);
for(j=0;j<G.vexnum;j++){
char v1;
scanf("%c",&v1);
if(v1=='0')
break;
else{
for(int k=0;k<G.vexnum;k++)
if (G.vex[k]==v1)
break;
scanf("%d",&G.arcs[k][i].adj);
if(Incinfo)
scanf("%d",G.arcs[k][i].info);
}
}
}
return OK;
}
void ShorttestPath_DIJ(MGraph G,int v0){//dijkstra算法
int final[MAX],P[MAX][MAX],D[MAX];
int i,v,w;
for(v=0;v<=G.vexnum;v++){//赋初值
final[v]=0;
D[v]=G.arcs[v0][v].adj;
for(w=0;w<=G.vexnum;w++)
P[v][w]=0;
if(D[v]<INFINITY){
P[v][v0]=1;
P[v][v]=1;
}
}
D[v]=0;final[v0]=1;
for(i=1;i<G.vexnum;i++){//开始主循环
int min=INFINITY;
for(w=0;w<=G.vexnum;w++)
if(!final[w])
if(D[w]<min){v=w;min=D[w];}
final[v]=1;
for(w=0;w<=G.vexnum;w++)
if(!final[w]&&(min+G.arcs[v][w].adj<D[w])){
D[w]=min+G.arcs[v][w].adj<D[w];
P[w][v0]=P[v][v0];
P[w][w]=1;
}
}
}
int main()
{
MGraph G;
CreateUDN(G);
ShorttestPath_DIJ(G,3);
return 0;
}
调试结果:Loaded 'ntdll.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\kernel32.dll', no matching symbolic information found.
Loaded 'C:\Windows\SysWOW64\KernelBase.dll', no matching symbolic information found.
The thread 0x1780 has exited with code -1073741510 (0xC000013A).
The thread 0x724 has exited with code -1073741510 (0xC000013A).
The program 'H:\数据结构\Debug\dijkstra.exe' has exited with code -1073741510 (0xC000013A).
一个C语言程序的问题
1.创建一个Migong对象 2.使用用Create方法输入数据 3.使用Solve方法进行求解 4.ShowSolve方法显示解 5.可以重复使用Create方法 6.入口只能在左上角 7.默认出口在右下角 ShowAllPath:穷举所有的路径 备注:由于算法原因,这里的所有路径应该是指 介于:a.如果两条路存在某个点不同那么就是不同的路 b....
想问问各位编程高手最开始的时候是怎么下手的,也可以说是怎么从什么都...
硬件人员做驱动的时候习惯 采用固定BD表,每接收或发送数据都将数据从BD表拷贝到用户Buffer,或从用户Buffer拷 贝到BD表,由于理解的比较深入,我自己重新实现了这个过程,采用动态BD表的方式
再次麻烦各位高手,不胜感激!
c 无论用XXXXX+EVER,排AB, 意思是拿你想要的,选你想的时间,因此C
严蔚敏版本数据结构的问题
他为了简单和更好的表达自己的意思,使用引用参数;这是C++里面的语言特征,引用在C++里面和指针作用一样 因此这些代码用C++的编译器是没有问题的
该怎样学习嵌入式Linux的基础课程
1、《嵌入式系统――体系结构、编程与设计》 2、《嵌入式系统――采用公开源代码和StrongARM\/Xscale处理器》毛德操 胡希明着 3、《Building Embedded Linux Systems》 4、《嵌入式ARM系统原理与实例开发》 杨宗德著 理论基础 1、《算法导论》 2、《数据结构(C语言版)》 3、《计算机组织与体系结构?性能分...
郁闷,请教高手解决系统故障问题,不胜感激,如果解决问题,不惜重金啊...
然后没有集成太多的其他驱动,不会容易出现问题。你的这个问题其实还是可以解决的。就是不太清楚你现在还是否才能进入win7 ,详细的问题 你还是Q下我吧,如果你能进win7只是说要解决你系统的开机自动选择win7在第一位的话,这个比较简单,都不让你去找其他的东西了,下载一个 魔方(自己百度下了,第...
...如何设置成和周围一样的格式,求解答,不胜感激!!!
选中中间那一行 右击 拆分单元格 拆分为3列即可
请各位高手帮忙看看这两题,在下不胜感激,谢谢!!
第一题:不知道,这个不是很好算,有待研究~!第二题:用一根跟正方形去掉一个角留下的那个斜面长度想通粗的直线穿过正方形就行了~。这个已不是奥数题了,没有研究的意义 ,只能算脑筋急转弯,不要太深究了。对学习没有好处!
各位电脑高手,在下请问个问题!请各位高手帮帮忙!在下不胜感激!
1、设定虚拟内存 硬盘中有一个很宠大的数据交换文件,它是系统预留给虚拟内存作暂存的地方,很多应用程序都经常会使用到,所以系统需要经常对主存储器作大量的数据存取,因此存取这个档案的速度便构成影响计算机快慢的非常重要因素!一般Windows预设的是由系统自行管理虚拟内存,它会因应不同程序所需而自动调...
“导致...的问题”算不算搭配不当
会导致原料焦糊和有效成分水解等问题出现 或者 会导致原料焦糊和有效成分水解等结果