printf("数到第 k 个人,该人出列,请输入 k:");
head = use = (SLL *) malloc(sizeof(SLL));//建立链表,形成链表头
for (i = 2; i <= n; i++)//形成其余的 n-1 个
use->next = (SLL *) malloc(sizeof(SLL));
use->data = i;//第 i 个置编号 i
use->next = head;//末首相连,形成环
printf("人员序号为:"); //输出人员的序号
printf("%d ",temp->data);
temp=temp->next;
}
for(i=0;i<m-1;i++)//use 指向第 m-1 个,为了从 m 位开始数
for (i = 1; i < k; i++)//掠过 k-1 个
temp = use->next;//temp 指向第 k 个
use->next = temp->next;//第 k 个从环中脱钩
printf("%d ", temp->data);
free(temp);//释放第 k 个表元占用的空间
//利用数组
#include<stdio.h>
#include<stdlib.h>
int main()
评论0
最新资源