首页 > 其他分享 >第九章运行存储分配常考大题总结(二)一些题

第九章运行存储分配常考大题总结(二)一些题

时间:2022-11-24 21:47:35浏览次数:46  
标签:存储 执行 第九章 常考 quicksort 解题 main 本题

题一

 

解题思路:先画出整体的活动树

 

(1)题干指出当前执行过程为quicksort(2,3),意为q(5,9)一侧不需要考虑,因为q(1,3)先执行完才能执行q(5,9),本题轮不到q(5,9)

main()->r()      

main()->q(1,9)      r()执行完退出栈,执行q(1,9)

main()->q(1,9)->p(1,9)

main()->q(1,9)->q(1,3)->q(1,0)   p(1,9)执行完退出栈,执行q(1,0)

main()->q(1,9)->q(1,3)->q(2,3)   执行q(1,0)时,判断条件不通过,所以q(1,0)直接返回了(执行完了),故退出栈

main()->q(1,9)->q(1,3)->q(2,3) ->p(2,3)

main()->q(1,9)-->q(1,3)>q(2,3) 

main()->q(1,9)->q(1,3)->q(2,3) ->q(2,1)

main()->q(1,9)->q(1,3)->q(2,3) ->q(3,3)

main()->q(1,9)->q(1,3)->q(2,3) 

所以最终结果为:

 

 (2)经前面的分析,只要将q(5,9)子树删了就行

 

 题二

 

 

解题思路:

 

(1)过程的嵌套深度比较好理解,最外面的为1,每嵌套一层+1

 

本题sort()在最外层,readarray(),exchange(),quicksort()并列在第二层,partition()在第三层

 

 

 

(2)r(),p(1,9)和其子树e已经完成执行,故退出栈

 

所以栈里还有:

 

 

 

故答案为:

 

 

 需要注意的是,访问链指向局部数据的开始部分

题三

 

解题思路:这个和上面一样,比较简单了

(1)p->q->r

(2)p->q->r->p->q->r

 

 

标签:存储,执行,第九章,常考,quicksort,解题,main,本题
From: https://www.cnblogs.com/rrrover/p/16923338.html

相关文章