东南大学C++折半查找实例:查找21元素的过程
需积分: 0 187 浏览量
更新于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++编程技巧。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-05-22 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-05-14 上传
2023-12-14 上传
韩大人的指尖记录
- 粉丝: 32
- 资源: 2万+
最新资源
- 手把手教你用VMware在linux下安装oracle10g RAC
- asp.net常用代码
- EMI_EMC设计秘籍电子工程师必备
- CAN总线学习心得:zlg关于can帖子汇总(一.pdf
- JSP数据库编程指南.pdf
- TD移动通信系统--很经典的TD入门教程
- FusionChartsFree中文开发指南
- Thinking.In.Java.3rd.Edition.Chinese.eBook
- 数据库DB2快速入门
- 全差分运算放大器设计
- C语言 学习资料 入门级别
- JAVA 面试题(达内内部资源)
- hibernate 3.31参考文档 (pdf)
- Serv-U FTP的建立和维护手册(增补稿) BY Hermit.pdf
- CSSPCMS项目文档
- 经典的PCB设计经验