广度优先遍历
while ( ! Q.empty() ){
int v = Q.dequeue();//取出队首顶点v
dTime(v) = ++clock;//发现v的时间
for ( int u = firstNbr(v); -1 < u; u = nextNbr(v,u) )
if ( UNDISCOVERDE == status(u) ) {
status(u) = DISCOVERED;
Q.enqueue(u);
type(v,u) = TREE;
parent(u) = v;
} else
type(v,u) = CROSS;
status (v) = VISITED;
}