#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<assert.h>
void Move(int *arr,int n,int m)
{
if(arr==NULL||n<=0||n<m)
{
return ;
}
int *brr=(int *)malloc(m*sizeofof(int));
//将arr中后面的m个数据移到brr中
int i;
for (i=0;i<m;i++)
{
brr[i]=arr[n-m+i];
}
//将arr中前面的数据后移
for(i=n-m-1;i>=0;i--)
{
arr[i+m]=arr[i];
}
//将brr数据移到arr中
for(i=0;i<m;i++)
{
arr[i+m]=arr[i];
}
free(brr);
}
int main()
{
int arr[]={7,9,5,2,7,23,77,43};
Move(arr,8,2);
printf("%d\n",arr);
}
将长度为n的数组arr后面m个数据移到最前面
最新推荐文章于 2022-09-01 16:05:09 发布