数组顺序颠倒——递归方法

递归版

#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--]);
}

数组顺序颠倒——递归方法

上一篇:adb 命令大全


下一篇:linux命令进阶之二