//数组反转
#include <iostream>
#include<array>
using namespace std;
int main()
{
int i;
array <int,7> a={1,2,3,4,5,6,7};
array <int,7> b;
b=a;//备份数组a
for(i=0;i<a.size()/2;i++)
a[i]=b[b.size()-1-i];
for(i=0;i<a.size()/2;i++)
a[a.size()-1-i]=b[i];
for(i=0;i<a.size();i++)
cout << a[i]<<",";
}
//中间变量法
#include <iostream>
#include<array>
using namespace std;
int main()
{
int i,t;
array <int,7> a={1,2,3,4,5,6,7};
for(i=0;i<a.size()/2;i++)
{t=a[i];
a[i]=a[a.size()-1-i];
a[a.size()-1-i]=t;
}
for(i=0;i<a.size();i++)
cout << a[i]<<",";
}
//异或法 e.g. 3^4=7,7^4=3,7^3=4=>a=a^b,b=a^b,a=a^b
#include <iostream>
#include<array>
using namespace std;
int main()
{
int i;
array <int,7> a={1,2,3,4,5,6,7};
for(i=0;i<a.size()/2;i++)
{a[i]^=a[a.size()-1-i];
a[a.size()-1-i]^=a[i];
a[i]^=a[a.size()-1-i];
}
for(i=0;i<a.size();i++)
cout << a[i]<<",";
}