本文整理汇总了C++中ProgramState::exportNearestNeighborsDegreeVsDegree方法的典型用法代码示例。如果您正苦于以下问题:C++ ProgramState::exportNearestNeighborsDegreeVsDegree方法的具体用法?C++ ProgramState::exportNearestNeighborsDegreeVsDegree怎么用?C++ ProgramState::exportNearestNeighborsDegreeVsDegree使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ProgramState
的用法示例。
在下文中一共展示了ProgramState::exportNearestNeighborsDegreeVsDegree方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
std::list<int> ret = state->maxCliqueExact(max_time);
if(!ret.empty()) {
cout << "Max clique size is: " + to_string(ret.size()) + ".\n";
cout << "Max clique is: ";
for(std::list<int>::iterator iterator = ret.begin();iterator != ret.end();iterator++){
cout << to_string<int>(*iterator).c_str() << " ";
}
cout << ".\n";
} else {
errorMessage("Time out.");
ERROR_EXIT;
}
} else if (args_info->maxCliqueAprox_given) {
std::list<int> ret = state->maxCliqueAprox();
if(!ret.empty()) {
cout << "Max clique size is: " + to_string(ret.size()) + ".\n";
cout << "Max clique is:";
for(std::list<int>::iterator iterator = ret.begin();iterator != ret.end();iterator++){
cout << " " << to_string<int>(*iterator).c_str() ;
}
cout << ".\n";
} else {
errorMessage("Unknown error.");
}
}else if (args_info->shell_given) {
int vertex_id = args_info->shell_arg;
double ret = state->shellIndex(vertex_id);
if(ret != -1) {
cout << "Shell index for vertex " + to_string(vertex_id) + " is: " + to_string(ret) + ".\n";
} else {
errorMessage("Invalid vertex id");
}
}
if (args_info->print_deg_given) {
if (args_info->erdos_given || args_info->barabasi_given || args_info->hot_given || args_info->molloy_given || args_info->hyperbolic_given
|| args_info->input_file_given) {
state->printDegrees();
} else {
usageErrorMessage("You have specified the print-deg options but no graph was loaded or generated. Ignoring.");
}
}
if (args_info->output_file_given) {
string path = args_info->output_file_arg;
if (args_info->betweenness_output_given || args_info->ddist_output_given ||
args_info->clustering_output_given || args_info->maxCliqueExact_output_given ||
args_info->maxCliqueAprox_output_given || args_info->knn_output_given ||
args_info->shell_output_given) {
string functionMessage = "";
if (args_info->betweenness_output_given) {
//if (state->isWeighted()) {
// errorMessage("Betweenness for weighted graphs is not supported.");
// ERROR_EXIT;
//} else {
state->exportBetweennessVsDegree(path);
functionMessage = "betweenness";
//}
} else if (args_info->ddist_output_given) {
state->exportDegreeDistribution(path, args_info->log_bin_given, args_info->log_bin_arg);
functionMessage = "degreeDistribution";
} else if (args_info->clustering_output_given) {
state->exportClusteringVsDegree(path);
functionMessage = "clustering coefficient";
} else if (args_info->knn_output_given) {
state->exportNearestNeighborsDegreeVsDegree(path);
functionMessage = "nearest neighbors degree";
} else if (args_info->shell_output_given) {
if (state->isWeighted()) {
errorMessage("Shell index for weighted graphs is not supported.");
ERROR_EXIT;
} else {
state->exportShellIndexVsDegree(path);
functionMessage = "shellIndex";
}
} if (args_info->maxCliqueExact_output_given) {
int max_time = args_info->maxCliqueExact_output_arg;
if(!state->exportMaxCliqueExact(path, max_time)) {
errorMessage("Time out.");
ERROR_EXIT;
}
functionMessage = "max clique distribution";
} else if (args_info->maxCliqueAprox_output_given) {
state->exportMaxCliqueAprox(path);
functionMessage = "max clique distribution aproximation";
}
cout << "Succesfully exported " + functionMessage + " in output file " + path + ".\n";
} else {
state->exportCurrentGraph(path);
cout << "Succesfully saved graph in file " + path + ".\n";
}
}
}
}