二分查找
来源:互联网 发布:vb.net socket 多线程 编辑:程序博客网 时间:2024/05/24 08:33
又称折半查找,是指在已经排序过的一些数中,找我们要找的数,a为数组的第一个数下标,c为数组中最后一个数下标,b为数组中间数下标,让我们要找的数m和中间元素做
比较,若比中间大则,a往后移到b+1位置,c保持不变,b继续移动到a和c之间。
代码:
#include <stdio.h>int f(int *v,int n,int m){int i,a=0,b,c=n-1; //a为前面第一个数下标,b为中间数下标,c为最后的数下标 while (a<=c) //大的数必须要保持比小的数大 {b = (a+c) / 2; //找出中间数下标 if (m<v[b]) //查找数小于中间数 { c=b-1; } else if (m>v[b]) //查找数大于中间数 { a=b+1; }else //即不大于又不小于,则中间数就是要找的数 return 1; }return 0;}int main(){int v[10]={11,21,33,44,53,65,73,81,92,100},c;c = f(v,10,21); //发送数组a,长度10,要找的数21if (c)printf("找到");elseprintf("没有找到");return 0;}
0 0
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- 二分查找
- android:ellipsize的使用
- Codeforces Round #387 (Div. 2)
- Spark算子:RDD创建操作
- (概率)hpu 1154: 两堆硬币 [数学]
- 【微信开源热修复框架】
- 二分查找
- 自建framework提交审核报错 ERROR ITMS-90087解决办法
- CSS学习笔记:overflow-wrap(word-wrap)
- 泛型委托,匿名委托,lamda表达语句,lamda表达式
- CGI与ECGI组成介绍
- Linux系统基础-之一:分区和命令基础
- 显著性检测代码调试所遇到的问题
- CSS样式定义p每段落首行自动空两格
- java项目生成exe执行文件