void set::__dfs(point n) { if (n == nullptr) return; if (n->l != nullptr) { __dfs(n->l); } std::cout << (n->i) << " "; if (n->r != nullptr) { __dfs(n->r); } }
void __dfs(int (* a)[MAX], int n, int v, int* visited) { visited[v] = 1; printf("%d\t",v); int i; for(i=1; i<=n; ++i) { if(!visited[i] && a[v][i]) __dfs(a, n, i, visited); } }
void set::print() { __dfs(__root); }