- #include <stdio.h>
- #include <malloc.h>
- typedef struct LNode{
- int num;
- int mima;
- struct LNode *next;
- }LNode, *LinkList;
- void creat(int n,LinkList &L)
- {
- LinkList p;
- LinkList q;
- int i=1;
- L=p=(LinkList)malloc(sizeof(LNode));
- p->num=1;
- printf("请输入第一个人的密码");
- scanf("%d",&p->mima);
- for(int j=2;j<=n;j++)
- {
- q=(LinkList)malloc(sizeof(LNode));
- printf("请输入第%d个人的密码:",j);
- scanf("%d",&q->mima);
- q->num=j;
- p->next=q;
- p=q;
- }
- p->next=L;
- }
- void find(LinkList &h)
- {
- int m,i;
- LinkList p=h,q,s;
- printf("请输入m的值");
- scanf("%d",&m);
- printf("出列顺序为");
- printf("\\n");
- while(p->next!=p)
- {
- for(i=1;i<m;i++)
- {
- q=p;
- p=p->next;
- }
- printf("%d\\n",p->num);
- m=p->mima;
- s=p;
- q->next=p->next;
- p=p->next;
- free(s);
- }
- printf("%d\\n",p->num);
- }
- void main()
- {
- int n;
- printf("请输入人数");
- scanf("%d",&n);
- LinkList L;
- creat(n,L);
- find(L);
- }
- //该片段来自于http://www.codesnippet.cn/detail/220120131834.html
来源: http://www.codesnippet.cn/detail/220120131834.html