另外增加一个数组,进行元素的逆置
时间复杂度:O(n)
空间复杂度:O(n)
#include <stdio.h>
typedef int elemType;
void Reserve(elemType R[],elemType len,elemType n){
int A[10];
int i,j;
for ( i = 0; i <= n; i++) {//将0-n个元素放到A[]中
A[len-n+i]=R[i];
}
//i=n
for (j = 0; j <= len-n-1; j++) {
A[j]=R[n+j];
}
for (int k = 0; k < len; k++) {
R[k]=A[k];
}
for (int k = 0; k < len; k++) {
printf("%4d",R[k]);
}
}
int main() {
int R[10]={1,2,3,4,5,6,7,8,9,10};
int n;
scanf("%d",&n);
Reserve(R,10,n);//从输入的第n位置开始逆置
return 0;
}
运行截图如下