Status CreatLinklist (LinkList &L,int n){
L=(Linklist) malloc (sizeof (L.Node));
if(!L) exit (OVERFLOW);
p=L; j=1;
while(p && j<n){
p=p->next; p=p->data=j; j++;
} //给参与人员编号
p=p->data=n; //给第n位编号
p->next=L; //构成循环链表
return OK;
}
Status ListDelete_L (LinkList &L){
int k,m; int q=0;
p->next=p->data=k; //从第k号开始
while(n>1){
for (int i=0; i<=m; i++)
p=p->next; //步长为m
free( p ); //删除喊到m号的玩家
n–;
}
q=p->data;
return(q); //输出最后获胜玩家
}