Пример #1
0
        public void Cal(int pNum, int which)
        {
            cycleLink.Clear();
            //构建循环链表 表示圆圈
            for (int i = 1; i <= pNum; i++)
            {
                cycleLink.Add(i);
            }

            int index   = 0;
            int counter = 0;
            int who     = 0;

            while (cycleLink.GetCycleLinkLength() >= which)
            {
                index = index % cycleLink.GetCycleLinkLength();
                counter++;
                index++;
                if (counter % which == 0)
                {
                    cycleLink.Delete(index, ref who);
                    Console.Write(who + " ");
                    index--;
                }
            }
            Console.WriteLine();
            Console.Write("活着的有:");
            for (int i = 1; i < which; i++)
            {
                cycleLink.GetElement(i, ref who);
                Console.Write(who + " ");
            }
            Console.WriteLine();
            Console.WriteLine();
        }
Пример #2
0
        public void Print()
        {
            int data = 0;

            for (int i = 1; i <= 13; i++)
            {
                cycle.GetElement(i, ref data);
                Console.Write(data + " ");
            }
        }