本文整理汇总了C++中graph_type::get_adjacency_list方法的典型用法代码示例。如果您正苦于以下问题:C++ graph_type::get_adjacency_list方法的具体用法?C++ graph_type::get_adjacency_list怎么用?C++ graph_type::get_adjacency_list使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类graph_type
的用法示例。
在下文中一共展示了graph_type::get_adjacency_list方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: visit_next_component
void visit_next_component(const graph_type& g, const int starting_vertex_id, Sequence& visited)
{
pk::queue<int, graph_type::max_num_of_vertices> q;
q.push(starting_vertex_id);
visited[starting_vertex_id] = true;
while(!q.empty())
{
const int v = q.front();
q.pop();
component_ids[v] = number_of_components;
const typename graph_type::adjacency_list& adj_v = g.get_adjacency_list(v);
for(int i = 0; i < adj_v.size(); ++i)
{
const int u = adj_v[i].to;
if(visited[u])
continue;
q.push(u);
visited[u] = true;
}
}
}
示例2: dfs
static bool dfs(
const graph_type& graph,
const int vertex_id,
pk::vector<int, graph_type::max_num_of_vertices>& colors,
pk::stack<int, graph_type::max_num_of_vertices>& s)
{
if(colors[vertex_id] == 1)
return false;
if(colors[vertex_id] == 2)
return true;
colors[vertex_id] = 1;
const typename graph_type::adjacency_list& adjacent_edges = graph.get_adjacency_list(vertex_id);
for(int i = 0; i < adjacent_edges.size(); ++i)
{
if(!dfs(graph, adjacent_edges[i].to, colors, s))
return false;
}
colors[vertex_id] = 2;
s.push(vertex_id);
return true;
}