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]<<",";
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM