深度优先搜索可以实现拓扑排序
//深度优先搜索的完成时间进行排序就是拓扑排序的逆序。
输入图G
G的邻接矩阵存储data.txt
6
0 1 0 1 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 1 0 0 0 0
0 0 1 0 0 1
0 0 0 0 0 0
DFS程序
/*
* @file DFS.cpp
* @brief implementing DFS page117
* @author/Univ. taoxiaoxiao/XMU
* @date 10-1-2014
*/
#include <iostream>
#include <fstream>
using namespace std;
#define NIL -1
#define WHITE 0
#define GRAY 1
#define BLACK 2
#define INF 0x3f3f3f3f
#define MAXN 101
int graph[MAXN][MAXN];
int dist[MAXN], f[MAXN];
int color[MAXN], pre[MAXN];
int N, time;
void DFSVisit(int u)
{
color[u] = GRAY;
time=time+1;
dist[u] = time;
fo