编辑代码

#include <stdio.h>
void Josephus(LinkList head,int n,int k,int m)
/*在由n个人围成的圆圈中,从第k个人开始报数,数到m的人出列*/
{
 ListNode *now,*before;
 int i;
 now=head;
 for(i=1;i<k;i++)  /*从第k个人开始报数*/
 {
  before=now;
  now=now->next;
 }
 while(now->next!=now)
 {
  for(i=1;i<m;i++) /*数到m的人出列*/
  {
   before=now;
   now=now->next;
  }
  before->next=now->next; /*将p指向的结点删除,即报数为m的人出列*/
  printf("%4d",now->data);
  free(now);
  now=before->next;   /*p指向下一个结点,重新开始报数*/
 }
 printf("%4d\n",now->data);
}
int main () {
    //JSRUN引擎2.0,支持多达30种语言在线运行,全仿真在线交互输入输出。 
	printf("Hello JSRUN!   \n\n         - from C .");
	return 0;
}