1. 程式人生 > >[資料結構]Graph之入度與出度計算

[資料結構]Graph之入度與出度計算

//同上一篇,這裡的圖採用的是鄰接表儲存

//做了一點修改,改成和課本上儲存相同的結構了,也就是說連結串列裡的資料存放的都是與之相鄰的點(不包含該點)

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());
}