郁闷!递归问题
#include "stdafx.h"
#include "iostream"
#include"stdio.h"
using namespace std;
#define MAXSIZE 20
typedef int listarr[MAXSIZE];
void listorder(listarr list, int left, int right)
{
int mid;
if (left<=right)
{ mid=(left+right)/2;
printf("%4d",list[mid]);
listorder(list,left,mid-1);
listorder(list,mid+1,right);
}
}
int _tmain(int argc, _TCHAR* argv[])
{
int listarr[MAXSIZE]={18,32,4,9,26,6,10,30,12,8,45};
int left=0,right=10;
listorder(listarr,left,right);
system("pause");
return 0;
}
就是这个程序,本人用单步调试还是搞不明白它这里进栈,出栈的时候,请高手给我指点一下这个程序,执行到哪句会进栈(进入的数值是多少),到哪句时出栈(出栈值是多少).高手给我指点一下详细的执行过程!谢谢了,小弟已经弄了2个晚上了,实在吃不消了!