本着节省内存,减少时间复杂度的原则,用c实现如下:
void swap(int *x, int *y){
int tmp = *x;
*x = *y;
*y = tmp;
}
void right_k(int arr[], int len, int k){
int i;
for (i = 0; i < len; i++){
if (i + k < len - 1){
swap(&arr[i], &arr[i + k]);
}
else{
swap(&arr[i], &arr[i + k - len]);
}
}
}