如何通过节点向量和检查欧拉电路的矢量
How can iterator through vectors of nodes and check Eulerian circuit?
我如何通过节点的向量进行迭代,并检查它是否仅通过一次边缘?(欧拉电路(。如果是欧拉电路,我还能打印组合?在这里我尝试过的东西,但它不断给我"无匹配的功能来呼叫dfsutil"。
#inlucde <iostream>
#include <vector>
#include <string>
using namespace std;
unsigned int c = 0;
class node
{
public:
string a;
vector<node> connect;
node(string b)
{
a = b;
c++;
}
bool isEulerCircuit();
bool isConnected();
void DFSUtil(node &a,bool visited[]);
void add_connect(node &n)
{
connect.push_back(n);
}
};
void node::DFSUtil(node &a,bool visited[])
{
visited[c] = true;
vector<node>::iterator i;
for(i = connect.begin(); i != connect.end(); i++)
{
node s = *i;
if(!visited[c])
{
DFSUtil(*i,visited[c]);
}
}
}
int main(int argc, char*argv[])
{
node A("A"),B("B"), C("C");
vector<node> AllNodes;
AllNodes.push_back(A);
AllNodes.push_back(B);
AllNodes.push_back(C);
A.add_connect(B);
B.add_connect(C);
}
您的行
DFSUtil(*i,visited[c]);
以params节点进行调用,并假设" c"实际上是在某个地方定义的。我在您的列表中看不到它的定义。请参阅"最低汇编示例"
但是,您定义了一种方法,该方法参考了一个节点和一系列bool:
void node::DFSUtil(node &a,bool visited[])
我想编译器正在抱怨您使用这些参数的呼叫不匹配它可以找到的任何方法或功能。
其他错误的列表结果:
main.cpp(39): error C2065: 'c': undeclared identifier
main.cpp(41): error C2065: 'connection': undeclared identifier
main.cpp(41): error C2228: left of '.begin' must have class/struct/union
main.cpp(41): note: type is 'unknown-type'
main.cpp(41): error C2228: left of '.end' must have class/struct/union
main.cpp(41): note: type is 'unknown-type'
main.cpp(44): error C2065: 'c': undeclared identifier
main.cpp(46): error C2065: 'c': undeclared identifier
main.cpp(46): error C2660: 'node::DFSUtil': function does not take 1 arguments
您的列表还存在许多其他问题,例如每次创建连接时都制作节点。
而不是让别人在这里为您编写软件。尝试提出缩小您遇到问题的一个方面的问题。一次测试您的解决方案一种方法,而不是"整个过程不起作用,谁能修复?"
相关文章:
- valgrind-hellgrind与泄漏检查的结果不同
- C++模板来检查友元函数的存在
- 检查输入是否不是整数或数字
- 试图让变量检查数组中的某些内容
- 检查值是否在集合p1和p2中,但不在p3中
- C++概念:如何使用'concept'检查模板化结构的属性?
- 概念TS检查忽略私有访问修饰符
- 检查 std::shared_ptr<> 的当前底层类型是否为 T
- 在c++中检查长方体是否尽可能快地重叠(无迭代)
- 如何在C++中检查2D数组中负值的输入验证
- C++:正在检查LinkedList中的回文-递归方法-错误
- 使用for循环检查数组中的重复项
- 如何检查一个c++字符串中有多少相同的字符/数字
- 检查不带转换的扫描格式
- 如何检查线程是否锁定
- 清除前检查矢量
- 如何处理来自核心指南检查器的关于gsl::at的静态分析警告
- C++LDAP检查用户是否是特定组的成员
- 检查TCHAR数组输入是否为带符号整数C++
- 如何通过节点向量和检查欧拉电路的矢量