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