示例#1
0
            public override void Cross(int k)
            {
                int count = 1;

                for (int i = 0; i < p.Length; i++)
                {
                    if (one.GetP()[i] == too.GetP()[i] && one.GetP()[i] == true)
                    {
                        p[i] = one.GetP()[i];
                        count++;
                    }
                }
                for (int i = 0; i < k - 1; i++)
                {
                    a[i] = false;
                }
                for (int i = k - 1; (i >= 0) && (count < p.Length); i--)
                {
                    if (one.GetA()[i] == too.GetA()[i] && one.GetA()[i] == true)
                    {
                        a[i] = one.GetA()[i];
                        count++;
                    }
                }
                a[k] = true;
            }