关于vs2010 sp1

#include &stdio.h&
#include &stdint.h&
#include &stack&
#include &queue&
#define MAX_NODE 26
typedef int InfoT
typedef int ElemT
typedef int VRT
typedef char VertexT
typedef enum
typedef struct ArcCell
InfoType *
}ArcCell, AdjMatrix[MAX_NODE][MAX_NODE];
typedef struct
VertexType vexs[MAX_NODE];
void BuildUDG(MGraph *G)
int i = 0, j = 0, k = 0;
char c = 'a';
int n1[] = {0, 0, 1, 1, 2, 2, 3, 4, 5};
int n2[] = {1, 2, 3 ,4, 5, 6, 7, 7, 6};
G-&vexnum = 8;
G-&arcnum = 9;
G-&kind = UDG;
for (i=0; i&G-& ++i)
G-&vexs[i] = c++;
for (i=0; i&G-& ++i)
for (j=0; j&G-& ++j)
G-&arcs[i][j].adj = 0;
G-&arcs[i][j].info = NULL;
for (k=0; k&G-& ++k)
G-&arcs[n1[k]][n2[k]].adj = 1;
G-&arcs[n2[k]][n1[k]].adj = G-&arcs[n1[k]][n2[k]].
static unsigned char visited[MAX_NODE] = {0};
int NextAdjVex(MGraph *G, int v, int w)
int i = 0;
if (!G || v & 0)
return -1;
for (i=++w; i&G-& ++i)
if (G-&arcs[v][i].adj != 0 && G-&arcs[v][i].adj != INT32_MAX)
return -1;
void DFS(MGraph *G, int v)
int i = 0;
visited[v] = 1;
printf("%c ", G-&vexs[v]);
for (i=NextAdjVex(G, v, -1); i&=0; i=NextAdjVex(G, v, i))
if (!visited[i])
DFS(G, i);
void DFSRecursion(MGraph *G)
int i = 0;
for (i=0; i&G-& ++i)
visited[i] = 0;
for (i=0; i&G-& ++i)
if (!visited[i])
DFS(G, i);
printf("\n");
void DFSStack(MGraph *G)
int i = 0, j = 0, k = 0;
stack&int&
for (i=0; i&G-& ++i)
visited[i] = 0;
for (i=0; i&G-& ++i)
if (!visited[i])
visited[i] = 1;
printf("%c ", G-&vexs[i]);
s.push(i);
while (!s.empty())
j = s.top();
for (k=NextAdjVex(G, j, -1); k&=0; k=NextAdjVex(G, j, k))
if (!visited[k])
visited[k] = 1;
printf("%c ", G-&vexs[k]);
s.push(k);
printf("\n");
void BFSQueue(MGraph *G)
int i = 0, j = 0, k = 0;
queue&int&
for (i=0; i&G-& ++i)
visited[i] = 0;
for (i=0; i&G-& ++i)
if (!visited[i])
visited[i] = 1;
printf("%c ", G-&vexs[i]);
s.push(i);
while (!s.empty())
j = s.front();
for (k=NextAdjVex(G, j, -1); k&=0; k=NextAdjVex(G, j, k))
if (!visited[k])
visited[k] = 1;
printf("%c ", G-&vexs[k]);
s.push(k);
printf("\n");
int main()
MGraph G = {0};
BuildUDG(&G);
DFSRecursion(&G);
DFSStack(&G);
BFSQueue(&G);
getchar();
------解决方案--------------------
从a出发当然不可能走到b,也不可能遍历到b,这不是很明显的么?
------解决方案--------------------
G-&arcs[n1[k]][n2[k]].adj = 1;
G-&arcs[n2[k]][n1[k]].adj = G-&arcs[n1[k]][n2[k]].这个不是无向图吗?
有向无环图,该怎么解决
有向无环图大家好,请问一个有n个顶点的有向无环图最多可包含 n(n-1)/2 条有向边,这是如何计算出来的?谢谢!------解决方案--------------------
这个结论仅当图没有重边的时候成立。当图没有重边的时候,DAG可以做一个拓扑序。然后如果(u,v)是一条边的话,在拓扑序里u必须要在v的前面。所以只能有C(n,2)=n(n-1)/2条可能的边了。
如果您想提高自己的技术水平,欢迎加入本站官方1号QQ群:&&,&&2号QQ群:,在群里结识技术精英和交流技术^_^
本站联系邮箱:&& 查看话题
关于VS2010中C++在编译过程中出现的LNK2005 errors,特寻求相关人士给予帮助。
自己利用VS2010所写的C++程序出现了大量的“LNK2005 errors”,久而久之,一直没有解决,今日特来请教:
& && &&&由于A.cpp、B.cpp、C.cpp等不同的cpp文件中需要同时调用一些全局变量,自定义宏,自定义函数等,因此我参考书上的作法,将这些变量、宏和函数统一写到了一个自定义的headline.h头文件中,然后再将所有的A.cpp、B.cpp和C.cpp文件中同时include &headline.h&,结果经过编译时,就出现了大量的LNK2005 errors,然后经过查阅相关C++书籍和网络,得知在自定义的headline.h头文件的最开始,写入#pragma once命令,可以防止头文件被多次包含,可是楼主试了,仍然不灵;于是我又利用#ifndef、#define和#endif指令,可是结果仍然如出一辙。
& && &&&①在楼主自定义的headline.h头文件中,关于我对#pragma once命令的使用:
1& && &&&#pragma once
2& && &&&int Lx=50,Ly=50,Lz=50;&&/*不同cpp文件中需要调用的全局变量*/
3& && &&&#define PI 3.;&&/*不同cpp文件中需要调用的自定义宏*/
4& && &&&int nint(double x)& && &/*不同cpp文件中需要调用的自定义函数*/
& && && &{
& && && && & return (int)(x+0.5);
& && && &}
& && &&&②在楼主自定义的headline.h头文件中,关于我对#ifndef、#define和#endif等命令的使用:
1& && &&&#ifndef _HEADLINE_H
2& && &&&#define _HEADLINE_H
3& && &&&int Lx=50,Ly=50,Lz=50;&&/*不同cpp文件中需要调用的全局变量*/
4& && &&&#define PI 3.;&&/*不同cpp文件中需要调用的自定义宏*/
5& && &&&int nint(double x)& && &/*不同cpp文件中需要调用的自定义函数*/
6& && &&&{
7& && && && &return (int)(x+0.5);
8& && &&&}
9& && &&&#endif
& && &&&①和②两种方法所写的自定义headline.h头文件,在编译A.cpp、B.cpp和C.cpp等文件的过程中,仍然报错LNK2005 errors,目前楼主实在无能为力了,特请相关人士帮忙解答,因为楼主非计算机专业,只是临时工作需要掌握这些知识,谢谢!!!
贴完整的项目文件; : Originally posted by cooooldog at
贴完整的项目文件; 就是这个,共有main、initial、force、integrate四个cpp文件,均需要调用自定义的headline.h头文件中的相应全局变量、自定义宏或者函数。
项目文件.png 贴一下报错信息看看怎么回事 : Originally posted by libralibra at
贴一下报错信息看看怎么回事 :D:D:D:D:D这个问题我已经解决了,昨天是我理解错了,原来函数的定义不能在.h头文件中进行,只能在.cpp源文件中进行,然后再将定义的函数和变量在.h头文件中进行声明,但是宏的定义可以在.h头文件中进行,而不是在.cpp文件中进行。不过还是要感谢各位的回答!!!:D:D:D:D:D 谢谢楼主,看到你的答案我也解决了,嘿嘿~太感谢了~ : Originally posted by 微暗的小火苗 at
谢谢楼主,看到你的答案我也解决了,嘿嘿~太感谢了~ :D:D:D相互学习,不谢不谢!

我要回帖

更多关于 vs2010 sp1 的文章

 

随机推荐