一些简单问题的求解
作者:互联网
时隔很久,重温算法,再次书写,又有哪些不同~
---------------------常用算法-------------------------- //1.数据交换 int swap(int &a,int &b){ a ^= b; b ^= a; a ^= b; } ---------------------数组求和-------------------------- //1.一般算法,迭代形式 int sum1(int A[],int n){ int sum=0; for(int i=0;i<n;i++) { sum+=A[n]; } return sum; } //2.减而治之,递归形式 int sum2(int A[],int n){ return (n<0) ? 0 : sum2(A,n-1) + A[n-1]; } //3.分而治之,递归形式 int sum3(int A[],int lo,int hi){ if(lo==hi) return A[lo]; int mi= (lo+hi)>>2; return sum3(A,lo,mi)+sum3(A,mi+1,hi); } ---------------------数组反转-------------------------- //1.减而治之,递归形式 int reverse(int *A,int lo,int hi){ if(lo<hi) { swap(A[lo],A[hi]);reverse(A,lo+1,hi-1); } }
标签:求解,int,lo,sum3,算法,hi,mi,简单,一些 来源: https://www.cnblogs.com/labixiaohei/p/10974481.html