コード例 #1
0
        public SetByte Intersection(SetByte b)
        {
            SetByte c  = new SetByte();
            int     n1 = 0;
            int     n2 = 0;
            int     n  = -1;
            int     i;

            while (n1 < this.size && n2 < b.size)
            {
                if (this.elements[n1] < b.elements[n2])
                {
                    n1++;
                }
                else if (this.elements[n1] > b.elements[n2])
                {
                    n2++;
                }
                else
                {
                    c.elements[++n] = this.elements[n1++];
                    n2++;
                }
            }
            c.size = (byte)(n + 1);
            return(c);
        }
コード例 #2
0
 public SetByte(SetByte setByte)
 {
     this.size     = setByte.size;
     this.elements = new byte[256];
     if (size != 0)
     {
         for (int i = 0; i < setByte.size; i++)
         {
             this.elements[i] = setByte.elements[i];
         }
     }
 }
コード例 #3
0
        static void Main(string[] args)
        {
            Console.Write("Въведете броя на елементите: ");
            int n = int.Parse(Console.ReadLine());

            byte[] arr = new byte[n];
            for (int i = 0; i < n; i++)
            {
                Console.Write("Въведете елемент: ");
                arr[i] = byte.Parse(Console.ReadLine());
            }
            SetByte s = new SetByte();
            SetByte f = new SetByte(arr, arr.Length);
            SetByte u = new SetByte()
                        s.Print();

            f.Print();
        }
コード例 #4
0
        public SetByte Union(SetByte b)
        {
            SetByte c  = new SetByte();
            int     n1 = 0;
            int     n2 = 0;
            int     n  = -1;
            int     i;

            while (n1 < this.size && n2 < b.size)
            {
                if (this.elements[n1] <= b.elements[n2])
                {
                    c.elements[++n] = this.elements[n1++];
                }
                else
                {
                    c.elements[++n] = b.elements[n2++];
                }
                if (this.elements[n1] == b.elements[n2])
                {
                    n2++;
                }
            }
            if (n1 == this.size)
            {
                for (i = n2; i < b.size; i++)
                {
                    c.elements[++n] = b.elements[i];
                }
            }
            else
            {
                for (i = n1; i < this.size; i++)
                {
                    c.elements[++n] = this.elements[i];
                }
            }
            c.size = (byte)(n + 1);
            return(c);
        }