예제 #1
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);
        }
예제 #2
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));
        }
예제 #3
0
        T IDisjointSet <T> .FindSet(T value)
        {
            IDisjointSet <T> ithis = this;

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

            return(default(T));
        }