一個程式看懂歸併
阿新 • • 發佈:2018-12-31
#include<iostream> #include<math.h> int MAX(int *a,int begin,int end); int main(){ int max; int a[8]={4,3,6,7,3,5,1,0}; max=MAX(a,0,7); // printf("%d",max); return 0; } int MAX(int *a,int begin,int end){ int mid=floor((begin+end)/2); printf("mid:%d",mid); int x,y,max; if(begin<end){ printf("begin:%d",begin); printf("end:%d\n",end); x=MAX(a,begin,mid); printf("x:%d\n",x); y=MAX(a,mid+1,end); printf("y:%d\n",y); max=(x>y?x:y); printf("max:%d\n",max); return max; } printf("a[begin]:%d",a[begin]); return a[begin]; }