c语言的二分查找简单实例
2017-08-17 18:21
253 查看
/*********************************** *二分查找:使用于有序排列的集合体 *data:2017.8.17 *Author:shi **********************************/ #include int data_serch(int arry[],int left,int right,int data) { int mid; mid = (right/2) - 1;//中间元素的下标 while(left <= right){//当左界限大于右界限时,表明已查找完毕 if(data > arry[mid]){ left = mid+1;//左界限移动到上次中间的地方,即中间值下标值+1 mid = (left + right)/2;//中间值下标也要变化 }else if(data < arry[mid]){ right = mid-1; mid = (left + right)/2; }else return mid;//返回中间值的下标 } return -1;//当没有这个数字的时候返回 } int main(void) { int arry[11] = {1,2,3,4,5,6,7,8,9,10,11}; int right = 0; int left = 0; int data,ret; printf("输入要查找的数: "); scanf("%d",&data); right = sizeof(arry)/sizeof(arry[0]);//求得总共有多少个元素 ret = data_serch(arry,left,right,data); if(ret < 0) printf("No such number\n"); if(ret >= 0) printf("在第%d个位置\n",ret+1); return 0; }
相关文章推荐
- C语言编程中实现二分查找的简单入门实例
- js基本算法:冒泡排序,二分查找的简单实例
- c语言简单递归/非递归实现二分查找
- C语言排序(5)___青蛙过河——(二分查找)
- 二分查找算法实现(C语言)
- C语言宏的副作用的简单实例
- C语言概述-C语言的一个简单实例
- C语言实现:折半查找(二分查找)
- C语言快速排序与二分查找算法示例
- 简单的猜数字游戏,二分查找,杨辉三角
- C语言:顺序查找和二分查找
- 二分查找c++简单模板
- 第一个算法-简单不容易的二分查找
- 黑马程序员——冒泡排序、选择排序、二分查找的实例运用分析
- C语言之二分查找
- C语言二分查找
- OpenJudge百炼-2804-词典-C语言-二分查找
- Java 二分查找的简单使用
- LintCode【简单】14. 二分查找 。代码及思路
- C语言【顺序表】冒泡排序,一次选出最大最小的数据,二分查找,初始化顺序表