Exemplo n.º 1
0
 public static bool IsSorted <T>(T[] pi, int lo, int hi, CompareToHandler <T> compareTo)
 {
     for (int k = lo; k < hi; ++k)
     {
         if (IsGreaterThan(pi[k], pi[k + 1], compareTo))
         {
             return(false);
         }
     }
     return(true);
 }
Exemplo n.º 2
0
 private static bool IsGreaterThan <T>(T i, T j, CompareToHandler <T> compareTo)
 {
     if (compareTo != null)
     {
         return(compareTo(i, j) > 0);
     }
     if (i is IComparable && j is IComparable)
     {
         return((i as IComparable).CompareTo((j as IComparable)) > 0);
     }
     else
     {
         throw new NotImplementedException();
     }
 }
Exemplo n.º 3
0
 public static int Compare <T>(T i, T j, CompareToHandler <T> compareTo)
 {
     if (compareTo != null)
     {
         return(compareTo(i, j));
     }
     if (i is IComparable && j is IComparable)
     {
         return((i as IComparable).CompareTo((j as IComparable)));
     }
     else
     {
         throw new NotImplementedException();
     }
 }