#include <stdio.h>
using namespace std;
#define Max 50
/*
题目上表明空间复杂度是1
所以我们只能对一个结构体进行操作
进行逆置的规律就是把第i个元素和第n-i-1个元素互换即可
这个规律才是这个空间复杂度为1的重点
时间复杂度为n/2
*/
struct SqlList{
int a[Max]={1,2,3,4,5,6,7};
int length=7;
};
void reverse(SqlList &s){
int temp;
for(int i=0;i<s.length/2;i++){
temp=s.a[i];
s.a[i]=s.a[s.length-i-1];
s.a[s.length-i-1]=temp;
}
}
int main(){
SqlList s;
printf("原来的数组为:\n");
for(int i=0;i<s.length;i++){
printf("%d ",s.a[i]);
}
printf("\n");
reverse(s);
printf("现在的数组为:\n");
for(int i=0;i<s.length;i++){
printf("%d ",s.a[i]);
}
}