?? p271.cpp
字號:
#include "iostream.h"#include "p267E.cpp" template <class NameType, class DistType> void Graph< NameType, DistType>::DFS ( ) { //對連通圖進行深度優先搜索的主過程 int *visited = new int [NumVertices]; //創建輔助數組 for ( int i=0; i<NumVertices; i++ ) visited [i] = 0; //輔助數組初始化 for ( i=0; i<NumVertices; i++) if (!visited[i]) DFS (i ,visited); //從頂點0開始深度優先搜索 delete [ ] visited; }; template <class NameType, class DistType> void Graph< NameType, DistType>::DFS ( const int v, int visited [ ] ) { //子過程 //從頂點位置v出發, 以深度優先的次序訪問所有可讀入的尚未訪問過的頂點。算法中用到一個輔助數組 // visited, 對已訪問過的頂點作訪問標記。 cout << GetValue (v) << ' '; //訪問該頂點的數據 visited[v] = 1; //訪問標志改為已訪問過 int w = GetFirstNeighbor (v); //找頂點v的第一個鄰接頂點w while ( w != -1 ) { //有鄰接頂點 if ( !visited[w] ) DFS ( w, visited ); //若未訪問過, 從w遞歸訪問 w = GetNextNeighbor ( v, w ); //找頂點v的下一個鄰接頂點 } }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -