搜索

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


发布时间: 2022-11-24 21:39:00    浏览次数:71 次

题一

 

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

 

(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

 

 

免责声明 第九章运行存储分配常考大题总结(二)一些题,资源类别:文本, 浏览次数:71 次, 文件大小:-- , 由本站蜘蛛搜索收录2022-11-24 09:39:00。此页面由程序自动采集,只作交流和学习使用,本站不储存任何资源文件,如有侵权内容请联系我们举报删除, 感谢您对本站的支持。 原文链接:https://www.cnblogs.com/rrrover/p/16923338.html