东南大学C++折半查找实例:查找21元素的过程
需积分: 0 168 浏览量
更新于2024-08-18
收藏 3.82MB PPT 举报
折半查找举例-东南大学C++何洁月
在这个C++教程中,作者何洁月通过实例讲解了折半查找算法在编程中的应用。折半查找,也称为二分查找,是一种在有序数组中快速查找特定元素的搜索算法。在这个例子中,目标是在一个已排序的整数序列中查找值为21的元素。查找过程遵循以下步骤:
1. 首先,设置两个指针L(low)和H(high),初始时L为序列的第一个元素的索引,H为最后一个元素的索引。
2. 计算中间索引M,M = INT((L+H)/2)。在给定的序列中,这个公式用于找到当前搜索区间的一半。
3. 检查中间元素的值是否等于目标值21。如果是,返回该位置;如果不是,则根据比较结果调整搜索范围:如果中间元素大于目标值,将H设为M-1,否则将L设为M+1。
4. 重复步骤2和3,直到找到目标值或搜索区间为空。
提供的代码示例展示了如何在`9-1.c`至`9-5.c`等C++程序中实现折半查找,同时也涉及到了其他C++概念:
- **分支结构**:通过`if`语句和`else`语句来控制程序的流程,如`MSDN: Operator Precedence and Associativity`提到的优先级和结合性规则。
- **循环结构**:包括`for`、`while`等循环结构,用来在满足条件时重复执行代码块,如`《计算机程序设计基础》P58图3.4`所示的循环结构实例。
- **结构体和联合体**:`struct aircraft`定义了一个表示飞机的结构体,其中包含`wingspan`和`passengers`等成员,以及一个无名联合体,用于实现某种特定功能,如交换函数`fiddle`。
- **函数与类**:强调了函数(如`get_volume`)和类的使用,通过封装数据和行为,实现了面向对象编程的特性。函数可以封装特定功能,而类则封装了相关的数据和行为,可以有构造函数、成员函数(如`inline`关键字的使用)以及析构函数,以确保对象在合适的时候释放资源。
- **面向对象编程**:以对象为中心,强调数据和操作数据的分离,以及自顶向下、逐步细化的设计原则。面向对象还涉及到对象间的交互,通过外部接口(如函数调用)和访问权限控制。
这些C++代码片段不仅展示了折半查找的运用,还涵盖了C++编程的基本概念和结构,有助于学习者理解和实践C++编程技巧。
2020-08-07 上传
2015-09-27 上传
2011-11-29 上传
2021-05-22 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-14 上传
韩大人的指尖记录
- 粉丝: 30
- 资源: 2万+
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章