约瑟夫环的递归实现

来源:互联网 发布:安装解压版mysql步骤 编辑:程序博客网 时间:2024/06/06 13:23

void deleteElem(Node aNode,int M,int count)

{

   if (count == M-1)

    {

       Node t = aNode->next;

        

        aNode->next = aNode->next->next;

       free(t);

       return;

    }

    

   deleteElem(aNode->next,M,count+1);


}

Node deleteCircel(Node aNode,int M,int count)

{

   while (aNode != aNode->next)

    {

       if (count == 0)

        {

           deleteElem(aNode,M,count);

        }

        

        aNode = aNode->next;

        count = (count+1)%M;

    }

   return aNode;

}//如果有人能有更好的实现  请给我留言

原创粉丝点击