/******************************************************************************************* ** 函数名称: HalfFindElement() ** 作 者: 张月华 ** 版 本: 1.0.0 ** 日 期: 2011-6-16 ** 功能描述: 折半查找,返回元素的位置(从0开始计数,和数组下标一致) ** 被本函数调用的函数清单: ** 调用本函数的函数清单: 1. main() ** 被访问的表: 无 ** 被修改的表 : 无 ** 输 入: int array_in[] --- 输入数组,升序排列 int element_amount --- 元素个数 int key_in --- 欲查找的关键字 ** 输 出: 无 ** 返 回 值: 查找到 -- 关键字的位置(标号和数组下标一致) 没找到 -- 返回-1 ** 其 他: ** 修改历史: 1. 修改时间: 修 改 者: 版 本: 修改简述: 2. ...... *********************************************************************************************/ int HalfFindElement(int array_in[],int element_amount,int key_in) /* array_in[]是升序数组 */ { int mid; /* 折半查找的中间位置 */ int top = 0; int bottom = element_amount - 1; int is_find = 0; /* 查找到标识符。找到=1,否则=0 */ int local ; /* 找到的元素的位置 */ if ((key_in < array_in[0]) || (key_in > array_in[element_amount - 1]) ) /* 再循环开始前就判断 */ { local = -1; /* 标记位置 */ is_find = 0; /* 没找到 */ } while ( (is_find == 0) && (top <= bottom)) { mid = (top + bottom) / 2; if (key_in == array_in[mid]) /* 找到了 */ { local = mid; /* 标记位置 */ is_find = 1; /* 找到 */ } else if (key_in < array_in[mid]) { bottom = mid - 1; } else { top = mid + 1; } } if ((0 == is_find) || ( -1 == local)) /* 返回值 */ { return -1; } else return local; /* 返回位置 */ }
您还没有登录,请您登录后再发表评论
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
用C语言实现折半查找,折半查找算法较简单
折半查找法也叫做二分查找,顾名思义,就是把数据分成两半,再判断所查找的key在哪一半中,再重复上述步骤知道找到目标key; 注意:折半查找法仅适用于对已有顺序的数组、数据进行操作!!! 很显然,折半查找法相...
java 快速排序 折半查找的界面实现 (递归与分治法)
排序容量可自定义,对数组分别用冒泡法和选择法排序。然后用折半查找对输入的数查找,看在数组中是否出现。
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
C语言实现折半查找算法,简单易懂,有兴趣可以看看
直接插入、折半插入、冒泡、快速、简单选择等排序方法 用c语言实现 代码运行正常 不会有任何的问题
c语言的各种排序实现方法以及详细的注释比如 快速排序 归并排序 简单排序 插入排序等等
6) 按姓名查学生信息和平均分数(折半查找法) 7) 查各门课平均分数 8) 查男女学生人数和总人数 9) 显示学生信息表 10) 将排序后的内容存为文件,以后显示时直接从文件中调出而不用再执行排序算法。
API接口定义与使用方法请参考书中每一章的ADT List,源码可以使用DEVC++直接编译运行。 实现内容: ...第九章 - 哈希表、折半查找、B-树、二叉平衡树 第十章 - 堆排序、归并排序、排序(书中所有排序)
折半查找法采用循环和递归调用两种方式实现;还有直接插入排序法的C实现!
问题:给定一个有序(非降序)数组A,可含有重复元素,求最小的i使得A[i]等于target,不存在则返回-1,例如:A[2,4,6,8,8,8,9]求8得最小位置3的相关代码。
1.7 C语言与C++的历史--------------------------------------------------6 1.8 C++标准库---------------------------------------------------------7 1.9 Java、Internet与万维网-------------------------...
《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考...
在计算机科学发展过程中,早期数据结构教材大都采用PASCAL语言为描述工具,后来出现了采用C语言为描述工具的教材版本、至今又出现了采用C++语言为描述工具的多种教材版本。本教实验指导书是为已经学习过C++语言的...
1) 以书中10-4的数据,程序实现直接插入排序,折半排序和2路插入排序。 2) 以书中图10.6的数据,程序实现快速排序。 3) 以书中图10.9的数据,程序实现树形选择排序。 4) 以书中图10.13的数据,程序实现归并排序...
9.1 查找的基本概念、顺序查找法、折半查找法 275 9.1.1 查找的基本概念 275 9.1.2 顺序查找法 276 9.1.3 折半查找法 277 9.1.4 分块查找 279 9.2 二叉排序树与平衡二叉树 280 9.2.1 二叉排序树 280 9.2.2 平衡...
(三)折半查找法 (四)B-树 (五)散列(Hash)表及其查找 (六)查找算法的分析及应用 五、内部排序 (一)排序的基本概念 (二)插入排序 1.直接插入排序 2.折半插入排序 (三)气泡排序(bubble sort) (四...
相关推荐
使用折半查找,输入一个整数,查找是否在数组中,如在给出下标,否则-1
用C语言实现折半查找,折半查找算法较简单
折半查找法也叫做二分查找,顾名思义,就是把数据分成两半,再判断所查找的key在哪一半中,再重复上述步骤知道找到目标key; 注意:折半查找法仅适用于对已有顺序的数组、数据进行操作!!! 很显然,折半查找法相...
java 快速排序 折半查找的界面实现 (递归与分治法)
排序容量可自定义,对数组分别用冒泡法和选择法排序。然后用折半查找对输入的数查找,看在数组中是否出现。
数据结构中的折半查找程序,C语言描述,数据结构中的折半查找程序,C语言描述
C语言实现折半查找算法,简单易懂,有兴趣可以看看
直接插入、折半插入、冒泡、快速、简单选择等排序方法 用c语言实现 代码运行正常 不会有任何的问题
c语言的各种排序实现方法以及详细的注释比如 快速排序 归并排序 简单排序 插入排序等等
6) 按姓名查学生信息和平均分数(折半查找法) 7) 查各门课平均分数 8) 查男女学生人数和总人数 9) 显示学生信息表 10) 将排序后的内容存为文件,以后显示时直接从文件中调出而不用再执行排序算法。
API接口定义与使用方法请参考书中每一章的ADT List,源码可以使用DEVC++直接编译运行。 实现内容: ...第九章 - 哈希表、折半查找、B-树、二叉平衡树 第十章 - 堆排序、归并排序、排序(书中所有排序)
折半查找法采用循环和递归调用两种方式实现;还有直接插入排序法的C实现!
问题:给定一个有序(非降序)数组A,可含有重复元素,求最小的i使得A[i]等于target,不存在则返回-1,例如:A[2,4,6,8,8,8,9]求8得最小位置3的相关代码。
1.7 C语言与C++的历史--------------------------------------------------6 1.8 C++标准库---------------------------------------------------------7 1.9 Java、Internet与万维网-------------------------...
《妙趣横生的算法(C语言实现)》可作为算法入门人员的教程,也可以作为学习过C语言程序设计的人士继续深造的理想读物,也可作为具有一定经验的程序设计人员巩固和提高编程水平,查阅相关算法实现和数据结构知识的参考...
在计算机科学发展过程中,早期数据结构教材大都采用PASCAL语言为描述工具,后来出现了采用C语言为描述工具的教材版本、至今又出现了采用C++语言为描述工具的多种教材版本。本教实验指导书是为已经学习过C++语言的...
1) 以书中10-4的数据,程序实现直接插入排序,折半排序和2路插入排序。 2) 以书中图10.6的数据,程序实现快速排序。 3) 以书中图10.9的数据,程序实现树形选择排序。 4) 以书中图10.13的数据,程序实现归并排序...
9.1 查找的基本概念、顺序查找法、折半查找法 275 9.1.1 查找的基本概念 275 9.1.2 顺序查找法 276 9.1.3 折半查找法 277 9.1.4 分块查找 279 9.2 二叉排序树与平衡二叉树 280 9.2.1 二叉排序树 280 9.2.2 平衡...
(三)折半查找法 (四)B-树 (五)散列(Hash)表及其查找 (六)查找算法的分析及应用 五、内部排序 (一)排序的基本概念 (二)插入排序 1.直接插入排序 2.折半插入排序 (三)气泡排序(bubble sort) (四...