N个游戏者围成一圈

N个游戏者围成一圈,从第一个人开始顺序报数1,2,3。凡报到者退出圈子,最后留下的人为首领。

void paly(LinkList head,int n)

{

      LinkList p,q;

      int c=0,k;

      p=head;c=1;k=n;

        while(k>1)

        {

                  if(c==2)

                  {

                        q=p–>link;p–>link=q->link;

                        free(q);

                        c=0;k––;

                  }

                  else

                  {

                          c++; p=p–>next;

                  }

        }

        printf("\n%4d was the winner.",p–>code);

        free(p);

}

你可能感兴趣的:(N个游戏者围成一圈)