如何在for循环中为变量赋值?
最近在做一个小程序,判断一个图是否存在环,存在的话返回其成环的3个节点,大概如下://在函数外定义要返回的数据intp1,p2,p3;voidisHaveCycle_KB...
最近在做一个小程序,判断一个图是否存在环,存在的话返回其成环的3个节点,大概如下:
//在函数外定义要返回的数据
int p1,p2,p3;
void isHaveCycle_KB(MatrixGraph*g, vector<int>&father, vector<int>&visit, int node)
{
int i ;
int n = g->VertexNum;
visit[node] = 1;
for (i = 0;i < n;i++)
{
int rua = i;
if (i != node&&g->Edges[node][i] != MAXVALUE)
{
///////////////////////////////////////
if (visit[i] == 1 && i != father[node])//find cycle
/////////////////////////////////////
{
p1=i;
cout << "CYCLE FOUND!";
}
else if (visit[i] == 0)
{
father[i] = node;
isHaveCycle(g, father, visit, i);
}
}
}
visit[node] = 2;
} 展开
//在函数外定义要返回的数据
int p1,p2,p3;
void isHaveCycle_KB(MatrixGraph*g, vector<int>&father, vector<int>&visit, int node)
{
int i ;
int n = g->VertexNum;
visit[node] = 1;
for (i = 0;i < n;i++)
{
int rua = i;
if (i != node&&g->Edges[node][i] != MAXVALUE)
{
///////////////////////////////////////
if (visit[i] == 1 && i != father[node])//find cycle
/////////////////////////////////////
{
p1=i;
cout << "CYCLE FOUND!";
}
else if (visit[i] == 0)
{
father[i] = node;
isHaveCycle(g, father, visit, i);
}
}
}
visit[node] = 2;
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询