要简洁大方地实现拓扑排序,首先要了解两个标准模板
std::queue 和 std::vector
1 queue
添加头文件 #include<queue>
定义一个int类型的队列 queue<int> Q;
队列的方法:
Q.push(x);//将x放入队尾
x=Q.front(); //读取队头元素,将其赋给x
Q.pop(); //队头元素弹出
Q.empty() //判断队头元素是否为空
2 vector
添加头文件 include<vector>
定义一个int型的vector数组 vector<int> edge[100] //相当于定义了一个二维数组,但每个数组的长度是可变的。
2 vector 的方法
int b;
dege[i].push_back(b);//将b插入数组edge[i][]中