//同上一篇,这里的图采用的是邻接表存储
//做了一点修改,改成和课本上存储相同的结构了,也就是说链表里的数据存放的都是与之相邻的点(不包含该点)
template<int max_size>
int Graph<max_size>::in_degree(Vertex v) const
{
int in_degree = 0;
for (int i = 0; i < count; i++) {
for (int j = 0; j < neighbours[i].size(); j++) {
Vertex x;
neighbours[i].retrieve(j, x);
if (x == v)in_degree++;
}
}
return in_degree;
}
template<int max_size>
int Graph<max_size>::out_degree(Vertex v) const
{
return (neighbours[v].size());
}