+ -
当前位置:首页 → 问答吧 → 请教:一个排序的算法问题

请教:一个排序的算法问题

时间:2011-03-27

来源:互联网

类似于一个作业依赖关系:
比如,1的前提是2和3; 2的前提是4; 3的前提是5;4的前提是6.
这样,排序应该是 6 5 4 3 2 1或者5 6 3 4 2 1等,就是没有依赖关系的次序可以随便。
想不好这样的排序用perl怎么实现,有达人能指教下吗?谢谢。

作者: askersky   发布时间: 2011-03-27

看不出是一个序列啊,命名是个树
试试用dot画个图看看
  1. digraph job {
  2. rankdir=LR;
  3. node [shape = box];
  4. 1 -> {2 3}
  5. 2 -> 4
  6. 3 -> 5
  7. 4 -> 6
  8. }
复制代码
下载 (3.01 KB)
2011-03-27 21:44

作者: ttcn_cu   发布时间: 2011-03-27

  1. my $hash = {
  2.     1   => 1,
  3.     2   => 2,
  4.     3   => 2,
  5.     4   => 3,
  6.     5   => 4,
  7.     6   => 4
  8. };

  9. my @list = sort { $hash->{$b} <=> $hash->{$a} } 1..6;
  10. print @list;
复制代码
这样可以么

作者: guap514   发布时间: 2011-03-27

热门下载

更多