关于vc中怎么代替graph.h的有关问题
关于vc中如何代替graph.h的问题
这是一个Dijkstra模板 悲剧的是现在Graph用不来了 没有头文件对应了 有需要随机大小的数组用这个模板 菜鸟我就搞不定的了 应该怎么修改 谢谢
int Dijkstra(Graph G,int n,int s,int t, int path[])
{
int i,j,w,minc,d[max_vertexes],mark[max_vertexes];
for (i=0;i<n;i++) mark[i]=0;
for (i=0;i<n;i++)
{ d[i]=G[s][i];
path[i]=s; }
mark[s]=1;path[s]=0;d[s]=0;
for (i=1;i<n;i++)
{
minc=infinity;
w=0;
for (j=0;j<n;j++)
if ((mark[j]==0)&&(minc>=d[j])) {minc=d[j];w=j;}
mark[w]=1;
for (j=0;j<n;j++)
if ((mark[j]==0)&&(G[w][j]!=infinity)&&(d[j]>d[w]+G[w][j]))
{ d[j]=d[w]+G[w][j];
path[j]=w; }
}
return d[t];
}
------解决方案--------------------
..何苦为难自己~~在windows上就不要搞这个了~~
------解决方案--------------------
楼主转向OPEN_GL或DirectX
------解决方案--------------------
对的,VC上不支持这个
TC中的头文件
这是一个Dijkstra模板 悲剧的是现在Graph用不来了 没有头文件对应了 有需要随机大小的数组用这个模板 菜鸟我就搞不定的了 应该怎么修改 谢谢
int Dijkstra(Graph G,int n,int s,int t, int path[])
{
int i,j,w,minc,d[max_vertexes],mark[max_vertexes];
for (i=0;i<n;i++) mark[i]=0;
for (i=0;i<n;i++)
{ d[i]=G[s][i];
path[i]=s; }
mark[s]=1;path[s]=0;d[s]=0;
for (i=1;i<n;i++)
{
minc=infinity;
w=0;
for (j=0;j<n;j++)
if ((mark[j]==0)&&(minc>=d[j])) {minc=d[j];w=j;}
mark[w]=1;
for (j=0;j<n;j++)
if ((mark[j]==0)&&(G[w][j]!=infinity)&&(d[j]>d[w]+G[w][j]))
{ d[j]=d[w]+G[w][j];
path[j]=w; }
}
return d[t];
}
------解决方案--------------------
..何苦为难自己~~在windows上就不要搞这个了~~
------解决方案--------------------
楼主转向OPEN_GL或DirectX
------解决方案--------------------
对的,VC上不支持这个
TC中的头文件