今天写一下数组逆置的算法,注意和数组逆序输出不太相同,数组逆置是在数组内部改变数组的顺序,而逆序输出只是在输出时逆序。具体代码如下:
#include <iostream>
#include<string>
#include<cmath>
using namespace std;
int main(){
int a[5];
for (int i = 0; i < 5; i++)
{
cin>>a[i];
}
int end=sizeof(a)/sizeof(int)-1; //计算数组下标
int start=0;
int t;
while (start<end)
{
t=a[start];
a[start]=a[end];
a[end]=t;
start++;
end--;
}
for (int i = 0; i <=4; i++)
{
cout<<a[i]<<" ";
}
return 0;
}
这里设置了start和end进行转置,不要忘记转置完后进行start++和end--,同时逆置的结束条件是start>=end时结束。