Beispiel #1
0
        void ObjectInvariant()
        {
            IDisjointSet <T> ithis = this;

            Contract.Invariant(0 <= ithis.SetCount);
            Contract.Invariant(ithis.SetCount <= ithis.ElementCount);
        }
Beispiel #2
0
        T IDisjointSet <T> .FindSet(T value)
        {
            IDisjointSet <T> ithis = this;

            //Contract.Requires(value != null);
            //Contract.Requires(ithis.Contains(value));

            return(default(T));
        }
Beispiel #3
0
 void IDisjointSet <T> .MakeSet(T value)
 {
     IDisjointSet <T> ithis = this;
     //Contract.Requires(value != null);
     //Contract.Requires(!ithis.Contains(value));
     //Contract.Ensures(ithis.Contains(value));
     //Contract.Ensures(ithis.SetCount == //Contract.OldValue(ithis.SetCount) + 1);
     //Contract.Ensures(ithis.ElementCount == //Contract.OldValue(ithis.ElementCount) + 1);
 }
Beispiel #4
0
        bool IDisjointSet <T> .AreInSameSet(T left, T right)
        {
            IDisjointSet <T> ithis = this;

            //Contract.Requires(left != null);
            //Contract.Requires(right != null);
            //Contract.Requires(ithis.Contains(left));
            //Contract.Requires(ithis.Contains(right));

            return(default(bool));
        }
Beispiel #5
0
        bool IDisjointSet <T> .Union(T left, T right)
        {
            IDisjointSet <T> ithis = this;

            Contract.Requires(left != null);
            Contract.Requires(ithis.Contains(left));
            Contract.Requires(right != null);
            Contract.Requires(ithis.Contains(right));

            return(default(bool));
        }
Beispiel #6
0
 public InteractionMonitor(IDisjointSet <int> disjointSet)
 {
     _ds = disjointSet;
 }