将长度为n的数组arr,后面m个数组移到最前面
#include<stdio.h>
#include<stdlib.h>
void Move(int *arr,int n,int m)
{
if(arr==NULL||n<=0||n<m)
{
return ;
}
int *brr=(int *)malloc(m*sizeof(int));
int i;
for(i=0;i<m;i++)
{
brr[i]=arr[n-m+i];
}
for(i=n-m;i>=0;i++)
{
arr[i+m]=arr[i];
}
for(i=0;i<m;i++)
{
arr[i]=brr[i];
}
free(brr);
}
int main()
{
int arr[]={0,1,2,3,4,5,6,7,8,9};
Move(arr,3,10);
printf("%d",Move(arr,3,10));
return 0;
}