C++ | 数组反转的三种方法

//数组反转
#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]<<",";
}

原文地址:https://www.cnblogs.com/zuoanfengxi/p/13442126.html