#include<stdio.h>
#include<stdlib.h>
typedef struct movearray* moarray;
struct movearray
{
int data;
moarray link;
};
void attach(int i,moarray* Rear);
int main()
{
int N,M,i=0;
scanf("%d%d",&N,&M);
M%=N;//使 M < N
moarray P,Rear,Last;
P=(moarray)malloc(sizeof(struct movearray));
P->link=NULL;
Rear=P;
for(i=0;i<N;i++)
{
moarray a=(moarray)malloc(sizeof(struct movearray));
scanf("%d",&a->data);
if(i==N-1)
{
a->link=P;//使链表循环
}
else
{
a->link=NULL;
}
Rear->link=a;
Rear=a;
}
Rear->link=P->link;
free(P);
Rear=Rear->link;
for(i=0;i<N-M;i++)
{
Rear=Rear->link;//移动指针
}
for(i=0;i<N;i++)
{
if(i!=0)
{
printf(" ");
}
printf("%d",Rear->data);
Rear=Rear->link;
}
return 0;
}
1008 数组元素循环右移问题 (20分)(循环链表实现)
最新推荐文章于 2021-12-03 09:49:28 发布