求大神解决

linhu007 2013-06-17 10:19:47
AdjMGraph g;
char a[] = {'A','B','C','D','E','F','G','H'};
RowColWeight rcw[] = {{0,2,5},{0,3,30},{1,0,2},{1,4,8},{2,1,15},{2,5,7},{4,3,4},{5,7,8},{4,7,9},{5,8,9}};
int i,n = 8,e=10;
int distance[6],path[8];
CreatGraph(&g,a,n,rcw,e);


SeqStack myStack;
StackInitiate(&myStack);
char Orig,model;
int idex,idex1;
int j;
printf("\n请输入出发点和终点(A--H):");
scanf("%c %c",&Orig,&model);
for(i=0;i<8;i++)
{
if(a[i]==Orig)
{
idex=i;
break;
}
}
Dijkstra(g,idex,distance,path);
printf("%c点到%c的路径为:\n",Orig,model);
for(i=0;i<8;i++)
{
if(a[i]==model)
{
idex1=i;
break;
}
}

for(j = 0;j<8;j++)
{
for(i=0;i<8;i++)
{
if(path[idex1]==i)
{
StackPush(&myStack,g.Vertices.list[path[idex1]]);
idex1=i;
continue;
}
}
}

printf("%c",Orig);
char x;
while(StackNotEmpty(myStack) != 0)
{
StackPop(&myStack,&x);
printf(">>%c",a[x]);
if(StackNotEmpty(myStack)==0)
break;
为什么进了栈以后不能显示出栈的内容?
...全文
48 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
linhu007 2013-06-17
  • 打赏
  • 举报
回复
为什么这句 printf("%c点到%c的路径为:\n",Orig,model);不能执行出来

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧