コード例 #1
0
 public override void CompareAndReplace(RoutePath routePath)
 {
     if (BestRoutePath == null)
     {
         BestRoutePath = routePath;
     }
     else
     {
         if (BestRoutePath.NumHop == routePath.NumHop)
         {
             if (BestRoutePath.Cost > routePath.Cost)
             {
                 BestRoutePath = routePath;
             }
         }
         else if (BestRoutePath.NumHop > routePath.NumHop)
         {
             BestRoutePath = routePath;
         }
     }
 }
コード例 #2
0
 public override bool BreakCondition(RoutePath routePath)
 {
     return(BestRoutePath != null
            &&
            routePath.NumHop > BestRoutePath.NumHop);
 }
コード例 #3
0
 /// <summary>
 /// Điều kiện dừng tối ưu khi chạy đệ quy
 /// </summary>
 /// <param name="routePath"></param>
 /// <returns></returns>
 public abstract bool BreakCondition(RoutePath routePath);
コード例 #4
0
 public abstract void CompareAndReplace(RoutePath routePath);
コード例 #5
0
 public override bool BreakCondition(RoutePath routePath)
 {
     return(BestRoutePath != null &&
            routePath.Cost > BestRoutePath.Cost);
 }
コード例 #6
0
 public override bool BreakCondition(List <Router> routePath)
 {
     return(BestRoutePath != null &&
            RoutePath.CaculateCost(routePath) > BestRoutePath.Cost);
 }