c实现数据结构中约瑟夫问题
//约瑟夫问题,已知n个人,围坐在一个圆桌周围,编号为k的人从1开始报数,数到m的那个人出列,他的下一个人从1开始继续报数,疏导m的那个人出列,直到圆桌周围人全部出列 #include <stdio.h> #include <stdlib.h> #define MaxSize 100 #define ElementType int typedef struct node{ ElementType data; struct node *link; }LNode,*LinkList; void JOSEPHU(int n,int k,int m); int main(){ int n,k,m; printf("%\ninput n,k,m"); //输入链结点总数n,报数的起始位置k和报数m scanf("%d%d%d",&n,&k,&m); JOSEPHU(n,k,m); } //约瑟夫函数 void JOSEPHU(int n,int k,int m){ //建立一个无头结点的非循环链表 LinkList p,r,list; list = NULL;//创建一个空链表 ElementType a; for(int i=1;i<=n;i++){ printf("请输入第%d个数据",i); scanf("%d",&a); p = (LinkList) malloc(sizeof