递归版
#include<bits/stdc++.h>
using namespace std;
void reverse(int *A, int lo,int hi){
if(lo<hi)
{
swap(A[lo],A[hi]);
reverse(A,lo+1,hi-1);
}
}
//验证
int main(){
int A[]={0,1,2,3,4};
reverse(A,0,4);
for(int i=0;i<5;i++)
cout<<A[i]<<" ";
cout<<endl;
}
迭代版
next:
if(lo<hi)
{
swap(A[lo],A[hi]);
lo++;
hi--;
goto next;
}
精简版
while(lo<hi)
{
swap(A[lo++],A[hi--]);
}
原文:https://www.cnblogs.com/Los1r/p/15240030.html