- 1、本文档共33页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第03章-的数组及其应用
3.3.3 数组的常用查找方法 顺序查找(线性查找) 从数组首元素或最后一个元素开始,往后或往前顺序比较每一个数组元素值是否等于查找关键字;如果找到相符合的元素值,则查找成功,否则,查找失败。顺序查找适应于被查找集合无序的场合。 例3-11 编程序实现顺序查找算法,在随机生成的20个整数中查找指定值,要求程序能够显示出查找进行比较的次数以及本次查找成功与否。 3.3.3 数组的常用查找方法 折半查找(二分查找) 该算法要求在一个对查找关键字而言有序的序列上进行,其基本思想是:逐步缩小查找目标可能存在的范围,具体描述如下: ①选取表中中间位置的记录作为基准,将表分为两个子表; ②当基准位置的关键字值与查找关键字值相符合时,返回基准记录位置,算法结束; ③当基准位置的关键字值与查找的关键字值不符合时,在处理的两个子表中选取一个子表,重复执行①、②,直到被处理的子表中没有记录为止。 3.3.3 数组的常用查找方法 图3.11是在一有序序列中实现对key=21进行折半查找。 ① low=0,high=22,middle=11 (数组下标从0开始) ② low=12,high=22,middle=17 (数组下标从12开始) ③ low=18,high=22,middle=20 (数组下标从18开始) 例3-12a 编程实现折半查找。在有序数组a的23个元素中查找关键字21,并输出查找比较次数以及查找成功与否的信息。 程序设计技术 C语言数据描述和C程序设计初步 结构化程序设计基础和C语言的控制结构 数组及其应用 函数与C程序结构 指针与函数 指针与数组 字符串及其应用 结构体类型和联合体类型 C语言的文件处理及其应用 位运算与枚举类型 数组及其应用 3.1? 一维数组 3.1.1 一维数组的定义和初始化 3.1.2 一维数组元素的引用方法 3.2 二维数组和多维数组 3.2.1 二维数组和多维数组的定义 3.2.2 二维数组和多维数组元素引用方法 3.3 数组的简单应用 3.3.1 数组元素值的随机生成 3.3.2 常用排序方法 3.3.3 常用查找方法 一维数组 数组是有序数据的集合。一维数组是一组按线性排列有序且个数有限的同类型变量构成的数据集合。每个数组有一个名称--数组名,数组中的每个数据元素有一个编号--下标,下标从0开始,是正整数。 一维数组在存储时需要占用连续的内存空间,其每一个数据元素所占用的字节长度与它们的数据类型相关。 3.1.1 一维数组的定义和初始化 一维数组的定义 存储类型 数据类型 数组名[常量表达式]; 存储类型:auto、static、extern 数据类型:数组元素的数据类型(基本,构造,指针) 常量表达式:指定数组的元素个数,也称数组长度。 例如:int s[30]; /*定义了1个整型数组s*/ 把30个学生的成绩放在一维数组s中,数组中每个元素表示一个学生的某科成绩,如s[5]表示序号为5的学生成绩73。因序号从0开始,所以没有S[30]元素。 3.1.1 一维数组的定义和初始化 一维数组的初始化 数据类型 ?数组名[n]={常量列表}; 其中: 常量列表:可是逗号分隔的常量或常量表达式。 n:数组长度,常量列表个数不能超过数组长度。 例如: int a[10]={?1,2,3,4,5,6,7,8,9,10?};/*常量*/ int b[3]={1,3*5,4*3-2}; }; /*常量表达式*/ int d[5]={1,2,3,4,5,6}; × /*超过数组长度*/ 注意: 数组名代表数组存储区的首地址,即第一个数组元素的存储地址。即a等价于a[0]。 3.1.1 一维数组的定义和初始化 数组元素初始化的几种形式 在数组初始化时,既可以对全部数组元素赋初始值,也可只对部分数组元素赋初始值,没有初始化的元素值为0(字符数组为’\0’); char s1[10]={‘a’,’b’,’c’,’d’,’e’}; /* 其余元素为‘\0’ */ 如果数组长度没有指定,以初始化数值个数作为数组的长度,或者说数据的个数是确定的,可以不指定数组的长度。 float a1[]={10,20,30.9,40,50}; /* 数组长度为5 */ 将数组全部元素初始化为0值的简写形式 例如:int a[10]={0}; int a[5]={0*10}; × 不能给数组整体赋值 例如,int?a[5]={1,1,1,1,1} int?a[5]={1}; × 3.1.2 一维数组元素的引用 C语言规定:只能逐个引
您可能关注的文档
- 病毒的木马的工作原理及其防范.ppt
- 白的板使用方法讲座课件.ppt
- 电视机与电脑同步显示的设置方法.doc
- 白盒的测试技术.doc
- 百事沟通会的正稿.ppt
- 病的例讨论-麻醉科医师应当如何会诊外科病人--薛张刚教授.ppt
- 皮山分的布式项目方案.doc
- 百会客户的关系管理.pdf
- 百通世纪的中药专一直播3.7.ppt
- 盐碱的地改造项目设计报告.pdf
- 剧本杀行业报告:内容创作规范与剧本市场拓展策略.docx
- 剧本杀行业区域市场区域文化特色与市场潜力分析报告.docx
- 剧本杀行业区域市场拓展实战案例研究.docx
- 剧本杀行业区域市场拓展路径与模式探索报告.docx
- 剧本杀行业区域市场竞争态势与品牌差异化策略研究报告.docx
- 剧本杀行业2025年西北区域市场市场细分领域竞争态势与品牌竞争策略分析研究报告.docx
- 剧本杀行业2025年西北市场拓展前景预测报告.docx
- 剧本杀行业2025年长沙市场发展潜力分析报告.docx
- 剧本杀行业2025年长三角市场竞争策略与布局分析.docx
- 医疗行业数据合规:2025年数据安全法实施后的合规监管挑战与应对.docx
最近下载
- 电气安全评估报告模板.docx VIP
- 2025学年人教版英语七年级下册单词默写表.docx VIP
- TB 10754-2018 高速铁路轨道工程施工质量验收标准 含2023修改单(2-2).pdf
- 《网络工程师》模拟考试题.doc VIP
- 脑梗塞中医辨证课件.pptx
- 解码国家安全智慧树知到期末考试答案章节答案2024年国际关系学院.docx VIP
- YB∕T 5305-2020 线缆套管用焊接钢管(可复制版).pdf
- 应用指南《GB_T23443-2024建筑装饰用铝单板》应用指南.pptx VIP
- CQC3703-2022 绿色能源消费评价技术规范-活动.pdf VIP
- 1.4 全面推进依法治国的六项重大任务(政策与法律法规 第五版).pptx VIP
文档评论(0)