69,373
社区成员
发帖
与我相关
我的任务
分享
void fun(int *w, int p, int n)
{
int *v = new int[n];
memcpy(v, w+p, (n-p)*sizeof(int));
memcpy(v+n-p, w, p*sizeof(int));
memcpy(w, v, n*sizeof(int));
delete []v;
}
void fun(int *w, int p, int n)
{
int *q = ( int* )malloc( sizeof( int ) * n );
int i;
for( i = 0; p < n; ++p, ++i ) q[i] = w[p];
for( i = 0; i < p; ++i ) q[n-p+i] = w[i];
for( i = 0; i < n; ++i ) w[i] = q[i];
free( q );
}
t=w[n-1];
for(j=n-2;j>=0;j--) /*实现循环右移*/
w[j+1]=w[j];
w[0]=t;