#include<stdio.h>
#include<malloc.h>
#define N 20
typedef struct Node
{
int code;
int no;
struct Node *next;
}Node,*LinkList;
LinkList Init_R(LinkList R,int n)
{
LinkList t,p,q;
int i,c;
R=(LinkList)malloc(sizeof(Node));
t=q=R;
printf("please input each element's code:");
for(i=1;i<n;i++)
{
scanf("%d",&c);
p=(LinkList)malloc(sizeof(Node));
q->code=c;
q->no=i;
q->next=p;
q=p;
}
scanf("%d",&c);
p->code=c;
p->no=i;
p->next=R;
R=p;
return R;
}
void Baoshu_R(LinkList R,int m,int n,int a[])
{
LinkList p,pre;
int i,j,t;
pre=R;
t=m;
i=0;
while(n>=1)
{for(j=t;j>1;j--)
{
pre=pre->next;
}
p=pre->next;
a[i++]=p->no;
t=p->code;
if(pre->next==R)
R=pre;
pre->next=p->next;
free(p);
n--;
}
}
void main()
{
LinkList R=NULL;
int i,a[N],m,n;
printf("please input n: n=");
scanf("%d",&n);
printf("please input m: m=");
scanf("%d",&m);
R=Init_R(R,n);
Baoshu_R(R,m,n,a);
printf("the out list is:");
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}