【发布时间】:2011-09-26 04:43:34
【问题描述】:
我有一个疑问,在一个块内,如果同一个函数被递归调用两次或两次以上,那么执行的顺序是什么?
例如:在合并排序的情况下,如果我这样做,则进行分区
mergesort(int a[], int low, int high)
{
int mid;
if(low<high)
{
mid=(low+high)/2;
mergesort(a,low,mid);
mergesort(a,mid+1,high);
merge(a,low,high,mid);
}
那么 (1)如果条件(低
(2) 或者对 merge(a,low,mid) 的调用会递归进行,然后在 merge(a,mid+1,high) 递归执行后,最后是 merge(a,low,mid)被执行。
我知道这对你们这些技术熟练的人来说很简单,但请回答这个问题,帮我一个忙。
【问题讨论】: