再回到图10.11的例子。如果该程序的某次执行顺序为: sort→quicksort→quicksort→partition→exchange… 即主程序(最外层过程)sort开始执行,继而进入过程quicksort,而又一次进入过程quicksort,接着进入过程partition,进入过程exchange…。 图10.15给出了进入过程exchange之后运行栈的示意,我们仅把存取链和控制链的值标明。
另外,过程partition中引用了第(2)行说明的变量a,而partition的直接外层是quicksort,quicksort的直接外层过程是sort,partition对非局部量a的引用通过两次拉链实现。 |