% 任务之间的依赖关系
% hx(1,1)=2,hx(1,2)= 3表示任务2和任务3在任务1完成之后才能开始进行
% hx(2,1)=4,hx(2,2)= 5表示任务4和任务5在任务2完成之后才能开始进行
hx = [2 3 0 0 0 0 0
4 5 0 0 0 0 0
6 7 0 0 0 0 0
8 9 0 0 0 0 0
10 11 0 0 0 0 0
12 13 0 0 0 0 0
14 15 0 0 0 0 0
16 17 0 0 0 0 0
16 17 0 0 0 0 0
18 19 0 0 0 0 0
18 19 0 0 0 0 0
20 21 0 0 0 0 0
20 21 0 0 0 0 0
22 23 0 0 0 0 0
22 23 0 0 0 0 0
24 26 0 0 0 0 0
25 27 0 0 0 0 0
24 26 0 0 0 0 0
25 27 0 0 0 0 0
28 30 0 0 0 0 0
29 31 0 0 0 0 0
28 30 0 0 0 0 0
29 31 0 0 0 0 0
32 36 0 0 0 0 0
33 37 0 0 0 0 0
34 38 0 0 0 0 0
35 39 0 0 0 0 0
32 36 0 0 0 0 0
33 37 0 0 0 0 0
34 38 0 0 0 0 0
35 39 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0];
G = digraph();
% n 表示任务的个数
n = size(hx,1);
for i = 1:n
G = addedge(G, i, hx(i, hx(i, :) ~= 0));
end
plot(G)
% 拓扑排序
sorted_nodes = toposort(G);
结果图展示