Exemple #1
0
 /// <summary>
 /// 拓扑排序器
 /// </summary>
 /// <param name="graph">图</param>
 /// <param name="points">单点集合</param>
 /// <param name="isDesc">是否反向排序</param>
 public Sorter(Dictionary <valueType, ListArray <valueType> > graph, ref LeftArray <valueType> points, bool isDesc)
 {
     this.graph  = graph;
     this.isDesc = isDesc;
     values      = new valueType[graph.Count + points.Length];
     if (isDesc)
     {
         index = points.Length;
         points.CopyTo(values, 0);
     }
     else
     {
         points.CopyTo(values, index = graph.Count);
     }
 }