抽象数据类型(ADT)与数据结构-信息隐蔽与抽象
需积分: 8 24 浏览量
更新于2024-08-20
收藏 4.92MB PPT 举报
"从被调函数返回调用函数的一般步骤-数据结构 严蔚敏版"
本资源主要探讨了从被调函数返回调用函数的一般过程,并提及了抽象数据类型(ADT)和数据结构的相关概念。以下是详细解释:
在计算机程序中,函数调用是常见的操作。当一个函数被另一个函数调用时,控制权转移给被调函数。当被调函数完成其任务后,需要将控制权返回给调用函数。这一过程包括以下步骤:
1. 如果调用栈为空,这意味着已经到达了主函数或者所有调用链已经结束,此时执行正常返回,程序终止。
2. 从调用栈的栈顶弹出一个工作记录。这个工作记录通常包含了被调函数的局部变量、参数值以及返回地址等信息。
3. 工作记录中的参数值和局部变量的值会被赋给相应的变量,这样在返回到调用函数时,之前的环境可以得到恢复。
4. 将被调函数的返回值赋给调用函数中对应的变量,这通常是调用函数期望接收的结果。
5. 最后,程序转移到保存在工作记录中的返回地址,继续执行调用函数后续的代码。
此外,资源还提到了几个应用实例,如电话簿查找、图书馆书目检索、教师资料管理以及交通灯管理,这些都是需要数据结构和算法支持的问题。数据对象可以是有限的(如电话簿中的联系人数量),也可以是无限的(如动态变化的图书数据)。
在讨论数据结构时,提到了抽象数据类型(ADT)的概念。ADT是一种高级编程工具,它定义了一组操作以及这些操作作用于一组值的方式。ADT与系统提供的基本数据类型不同,它可以是用户自定义的。ADT包括定义(描述数据对象和操作)、表示(数据如何存储)和实现(操作如何执行)三部分。其关键特性是抽象和信息隐蔽,抽象关注问题核心,忽略非本质细节,而信息隐蔽则隐藏了数据的内部实现,只暴露必要的接口供用户使用。
例如,整数的ADT由整数值域和整数运算(如加、减、乘、除)组成。在C语言中,数组是另一种重要的数据结构,其下标从0开始,第i个元素的下标为i-1。顺序存储的线性表(如数组)具有快速访问元素的优点,但插入和删除操作可能需要移动大量元素,且空间利用率不高,不便于动态扩容。
讲解过程中,还会涉及常见的指针操作,如指针的声明、初始化、赋值、解引用以及指针间的比较等,这些都是理解C/C++程序设计的关键。
总结来说,本资源涵盖了函数调用返回流程、抽象数据类型的应用以及数据结构的基本概念,对于学习数据结构和算法的初学者具有很高的参考价值。
2021-01-19 上传
2022-09-20 上传
2022-11-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
杜浩明
- 粉丝: 13
- 资源: 2万+
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜